Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/09/2012, 03:23
jossss
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 18 años
Puntos: 58
Respuesta: Problemas con un IF ELSE

Claro. Tienes mal el flujo del script. Tendrías que hacer:
  • Al entrar por primera vez en la página:
    1. Comprobar si existen ofertas
    2. si hay ofertas muestras el form
    3. 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.
    1. Comprobar que el usuario no ha descargado ya esa oferta.
    2. Si la ha descargado mostrar error
    3. Si no la ha descargado enviar mail.
algo así.. puede contener algún error que lo he hecho rapidamente.
Código PHP:
Ver original
  1. <?php
  2. include ('mail.php');
  3. $conn = mysql_connect("localhost","root","");
  4. mysql_select_db("prueba1",$conn);
  5. $oferta= "p123";
  6. $sql= "SELECT * FROM oferta1 WHERE oferta='$oferta'";
  7. $datos=mysql_query($sql,$conn);
  8. if($row['cantdesc']<= $row['cantaut']){?>
  9. <form action="#" method="post">
  10.   <br />  <br />  <br />  <br />  e-mail
  11.   <input name="email" size="40" maxlength="40" type="text" />
  12.   <input value="enviar" type="submit" />
  13.   <input value="Borrar" type="reset" />
  14. </form>
  15. <?php
  16.     if(isset($_POST['email']){//si se ha enviado el form
  17.         $emailusuario=$_POST["email"];
  18.         $con = mysql_connect("localhost","root","");
  19.         mysql_select_db("prueba1",$con);
  20.         $ssql= "SELECT * FROM descargas1 WHERE email='$emailusuario'and oferta='$oferta'";
  21.         $desc=mysql_query($ssql,$con);
  22.         if(mysql_num_rows($desc)==0){//si este usuario no ha descargado
  23.             $asunto = "Guia Villa Luzuriaga - Cupón de descuento solicitado";
  24.             $cuerpo = '
  25.             <html>
  26.         <head>
  27.             <title>prueba</title>
  28.             </head>
  29.         <body>
  30.             <img style="width: 425px; height: 283px;" alt=""
  31.             src="http://www.estudioagueromoreno.com.ar/cari1.JPG">
  32.             <br>
  33.             <br>
  34.             </body>
  35.         </html>
  36.             ';
  37.             //para el envío en formato HTML
  38.             $headers = "MIME-Version: 1.0\r\n";
  39.             $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  40.             //dirección del remitente
  41.             $headers .= "From: Admin Guia Villa Luzuriaga \r\n";
  42.             if(mail($emailusuario,$asunto,$cuerpo,$headers)){//enviar mail correctamente
  43.                 $sql2= "insert into `descargas1`(`email`,`oferta`) value ('$emailusuario','$oferta');";//añadir usuario a descarga
  44.                 mysql_query($sql2,$con);
  45.                 $sql1= "update oferta1 set cantdesc = cantdesc+1 where oferta ='p123'" ;//sumar una descarga a la oferta
  46.                 mysql_query($sql1,$conn);
  47.                 echo " Ha sido enviado el cupón, al email solicitado";
  48.             }else{//si ha habido un error al enviar el mail
  49.                 echo "No se ha podido enviar el mail";
  50.             }
  51.         }else{
  52.             echo "Solo se acepta 1 descarga por mail, las descargas se chequearan con su IP, si se detecta abuso, su cuenta sera restringida";
  53.         }
  54.     }
  55. }else{//fin si se ha llegado al max numero de descargas
  56. echo "Lo sentimos, ya se ha cubierto el total de cupones autorizados por el proovedor, es posible que se renueve, consulte en unas horas";
  57.  }
  58.  ?>