Claro. Tienes mal el flujo del script. Tendrías que hacer:
- Al entrar por primera vez en la página:
- Comprobar si existen ofertas
- si hay ofertas muestras el form
- si no hay ofera muestas "Lo sentimos, ya se ha cubierto el total de cupones autorizados por el proovedor, es posible que se renueve, consulte en unas horas";
- Al enviar el form.
- Comprobar que el usuario no ha descargado ya esa oferta.
- Si la ha descargado mostrar error
- Si no la ha descargado enviar mail.
algo así.. puede contener algún error que lo he hecho rapidamente.
Código PHP:
Ver original<?php
include ('mail.php');
$oferta= "p123";
$sql= "SELECT * FROM oferta1 WHERE oferta='$oferta'";
if($row['cantdesc']<= $row['cantaut']){?>
<form action="#" method="post">
<br /> <br /> <br /> <br /> e-mail
<input name="email" size="40" maxlength="40" type="text" />
<input value="enviar" type="submit" />
<input value="Borrar" type="reset" />
</form>
<?php
if(isset($_POST['email']){//si se ha enviado el form $emailusuario=$_POST["email"];
$ssql= "SELECT * FROM descargas1 WHERE email='$emailusuario'and oferta='$oferta'";
$asunto = "Guia Villa Luzuriaga - Cupón de descuento solicitado";
$cuerpo = '
<html>
<head>
<title>prueba</title>
</head>
<body>
<img style="width: 425px; height: 283px;" alt=""
src="http://www.estudioagueromoreno.com.ar/cari1.JPG">
<br>
<br>
</body>
</html>
';
//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//dirección del remitente
$headers .= "From: Admin Guia Villa Luzuriaga \r\n";
if(mail($emailusuario,$asunto,$cuerpo,$headers)){//enviar mail correctamente $sql2= "insert into `descargas1`(`email`,`oferta`) value ('$emailusuario','$oferta');";//añadir usuario a descarga
$sql1= "update oferta1 set cantdesc = cantdesc+1 where oferta ='p123'" ;//sumar una descarga a la oferta
echo " Ha sido enviado el cupón, al email solicitado";
}else{//si ha habido un error al enviar el mail
echo "No se ha podido enviar el mail";
}
}else{
echo "Solo se acepta 1 descarga por mail, las descargas se chequearan con su IP, si se detecta abuso, su cuenta sera restringida";
}
}
}else{//fin si se ha llegado al max numero de descargas
echo "Lo sentimos, ya se ha cubierto el total de cupones autorizados por el proovedor, es posible que se renueve, consulte en unas horas";
}
?>