Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosvp2

criar um cupom que expirar em 48hrs

Recommended Posts

galera!! enviar um cupom p/ o email do usuario!!

 

1º --> se o usuario usar esse cupom ele vai dar o desconto de 8% no produto!

2º-->depois que ele usar o cupom esse cupom sera deletado do banco de dados!

3º-->caso ele não use esse cupom que foi enviado por email!! esse cupom ira inspirar em 48hrs!!

 

espero que tenha me expressado de forma correta o que eu quero!! valeu galera e obrigado!!

 

 

esta ai o codigo que eu fiz ate agora

 

 
 
 
<?php 
 
  if(!isset($_POST['cupom_bonus']) || empty($_POST['cupom_bonus'])){
      
      echo 'n e valido o codigo';
   }else{
try {
    
  $consultar = $pdo->prepare("SELECT * FROM cupom 
               WHERE cupom_bonus = ? 
  ");
 
  $consultar->bindParam(1, $cupom_bonus);
  $consultar->execute();
  if ($consultar->rowCount() == true) {
  while ($row = $consultar->fetchObject()) {   
    
  $desconto = 8.0 / 100.0;
  $valor_descontado = $preco - $desconto * $preco;
  echo  'desconto realizado' .$valor_descontado;
  
    $valor_final = $total_compra - $valor_descontado 
 
   }
   
   $delete = $pdo->prepare("DELETE cupom_bonus FROM cupom
    WHERE usuario_id = ?
   ");
   $delete->bindParam(1, $cupom_bonus);
   $delete->bindParam(2, $_SESSION['usuario_id']);
   $delete->execute();   
   
  
   }else{
 
   //esse cupom vai espirar no periodo de 48hrs
   $delete = $pdo->prepare("DELETE cupom_bonus FROM cupom
    WHERE usuario_id = ?
   ");
   $delete->bindParam(1, $cupom_bonus);
   $delete->bindParam(2, $_SESSION['usuario_id']);
   $delete->execute();   
  
 
 
  }
 
 }catch (PDOException $e) {
   echo $e->getMessagem();   
     }
    }
 
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera!! enviar um cupom p/ o email do usuario!!

 

1º --> se o usuario usar esse cupom ele vai dar o desconto de 8% no produto!

2º-->depois que ele usar o cupom esse cupom sera deletado do banco de dados!

3º-->caso ele não use esse cupom que foi enviado por email!! esse cupom ira inspirar em 48hrs!!

 

espero que tenha me expressado de forma correta o que eu quero!! valeu galera e obrigado!!

 

 

esta ai o codigo que eu fiz ate agora

 

 

 

 
<?php 
 
  if(!isset($_POST['cupom_bonus']) || empty($_POST['cupom_bonus'])){
      
      echo 'n e valido o codigo';
   }else{
try {
    
  $consultar = $pdo->prepare("SELECT * FROM cupom 
               WHERE cupom_bonus = ? 
  ");
 
  $consultar->bindParam(1, $cupom_bonus);
  $consultar->execute();
  if ($consultar->rowCount() == true) {
  while ($row = $consultar->fetchObject()) {   
    
  $desconto = 8.0 / 100.0;
  $valor_descontado = $preco - $desconto * $preco;
  echo  'desconto realizado' .$valor_descontado;
  
    $valor_final = $total_compra - $valor_descontado 
 
   }
   
   $delete = $pdo->prepare("DELETE cupom_bonus FROM cupom
    WHERE usuario_id = ?
   ");
   $delete->bindParam(1, $cupom_bonus);
   $delete->bindParam(2, $_SESSION['usuario_id']);
   $delete->execute();   
   
  
   }else{
 
   //esse cupom vai espirar no periodo de 48hrs
   $delete = $pdo->prepare("DELETE cupom_bonus FROM cupom
    WHERE usuario_id = ?
   ");
   $delete->bindParam(1, $cupom_bonus);
   $delete->bindParam(2, $_SESSION['usuario_id']);
   $delete->execute();   
  
 
 
  }
 
 }catch (PDOException $e) {
   echo $e->getMessagem();   
     }
    }
 
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagine uma tabela com os campos:

 

NumeroCupom | usuarios | valor

tipo char tipo text tipo double ou int, depende do valor e do tipo de desconto

 

Crie os seus cupons e adicione-os a esta base de dados.

 

Envie o NumeroCupom do cupom que você quiser para o cliente. Quando ele digitar o NumeroCupom que recebeu no seu site, pesquise no banco de dados se o número digitado está correto. Caso esteja, ative o cupom e adicione o nome de usuário, IP, e-mail ou qualquer outro modo de monitorar quem já usou o cupom lá no campo usuarios. Pode adicionar nomes de usuários separados por vírgula, por exemplo (sem espaços, somente vírgulas).

 

Para verificar se o usuário já utilizou o cupom, basta conferir se o nome de usuário, IP, e-mail ou qualquer outro modo de monitorar quem já usou o cupom já existe no campo usuarios. Suponhamos que esteja usando o Nome de Usuário do cliente para fazer essa verificação:

$username = $_POST["username"];
// SELECT * FROM seu banco de dados e recupere o campo usuarios
while($m= ..................){
   $usuarios = explode(",", $m["usuarios"]);
}
if(in_array($username, $usuarios)){
   die("Você já utilizou este cupom antes.");
}

Enfim, só dei exemplos muito básicos. É só adaptar pro que precisa. Te indico fazer dessa maneira porque depois vai poder oferecer cupom com valor em reais, porcentagem, outras moedas, pode definir somente alguns produtos para receberem o desconto e bloquear os demais e tudo mais que quiser fazer.

 

Ao ativar o cupom, além de verificar se o NumeroCupom digitado pelo cliente está correto, recupere o valor do desconto e aplique-o ao produto da forma como achar melhor.

 

Pra te ajudar a validar o cliente, pode salvar o nome de usuário dele numa Session ou Cookie e depois conferir com o do banco de dados.

 

Essa é a lógica mais simples possível pra um cupom de descontos. O valor pode ser em porcentagem, reais ou o que quiser. Basta usar a criatividade \o


E se quiser fazer o cupom durar apenas 48 horas, crie outro campo na tabela:

 

dataTermino

tipo Int

 

Adicione o seguinte neste campo quando for criar o cupom:

strtotime("+48 hours");

E na hora de conferir se ele ainda não expirou, faça isso:

while($m=................){
   $dataFim = $m["dataTermino"];
}
if($dataFim >= time()){
   echo "Este cupom perdeu a validade";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, já sabemos o que você precisa, agora precisamos saber no que você tem dúvidas...

 

EDIT: Tópicos unidos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera fiz + ou - o que o amigo assim me falou! + esta dando erro nas linhas !!

 

 

/***********CODIGO******************/

 

Notice: Undefined index: cupom_bonus in C:\xampp\htdocs\integracao\modulos\cupom\funcupom.php on line 3

Notice: Undefined variable: dataFim in C:\xampp\htdocs\integracao\modulos\cupom\funcupom.php on line 29

 

 

seguir o codigo!!

 

<?php
$cupom_bonus = $_POST['cupom_bonus'];
try {
$consultar = $pdo->prepare("SELECT * FROM cupom
WHERE cupom_bonus = ?
");
$consultar->bindParam(1, $cupom_bonus);
$consultar->execute();
if ($consultar->rowCount() > 0) {
while ($row = $consultar->fetchObject()) {
$cupom_bonus = explode(",", $row['cupom_bonus']);
}
if (in_array($cupom_bonus, $cupom_bonus)) {
die("Voce já Ultilizou esse Cupom!");
}
}else{
strtotime("+48 hours");
while($row = $consultar->fetchObject()){
$dataFim = $row["cupom_data_termino"];
}
if($dataFim >= time()){
echo "Este cupom perdeu a validade";
}
}
}catch (PDOException $e) {
echo "<script>alert('Erro na linha: {$e->getLine()}')</script>";
}
?>
esse codigo acima esta sendo puchado do carrinho!!
/*************************HTML DO CARRINHO***************/
<form action="" method="post" enctype="multipart/form-data">
<label for="" id="desconto_cupom">Codigo do Cupom:</label>
<input type="text" name="busca" id="desconto_cupom" placeholder="Codigo do Cupom"/>
<button type="submit" name="enviar" id="desconto_cupom">Aplicar</button>
</form>
<?php
if(isset($_POST['enviar'])){
require "modulos/cupom/funcupom.php";
}
?>

 

 

/*******************SQL DA TABELA CUPOM*****************************/

 

-- phpMyAdmin SQL Dump
-- version 4.2.7.1
--
-- Host: 127.0.0.1
-- Generation Time: 15-Jun-2015 às 20:25
-- Versão do servidor: 5.6.20
-- PHP Version: 5.5.15
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `loja`
--
-- --------------------------------------------------------
--
-- Estrutura da tabela `cupom`
--
CREATE TABLE IF NOT EXISTS `cupom` (
`cupom_id` int(12) NOT NULL,
`usuario_id` int(12) NOT NULL,
`produto_id` int(12) NOT NULL,
`cupom_bonus` varchar(300) NOT NULL,
`cupom_desconto` decimal(10,2) NOT NULL,
`cupom_data_termino` int(12) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
--
-- Extraindo dados da tabela `cupom`
--
INSERT INTO `cupom` (`cupom_id`, `usuario_id`, `produto_id`, `cupom_bonus`, `cupom_desconto`, `cupom_data_termino`) VALUES
(1, 1, 1, 'd41d8cd98f00b204e9800998ecf8427e', '10.00', 0),
(5, 19, 2, '185cec461ae0bcf25dc3eac52d2995da', '10.00', 0),
(6, 2, 3, '768daea691ae0dcfb70da852fefce316', '10.00', 0);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `cupom`
--
ALTER TABLE `cupom`
ADD PRIMARY KEY (`cupom_id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `cupom`
--
ALTER TABLE `cupom`
MODIFY `cupom_id` int(12) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.