Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/04/2011, 14:29
Avatar de uikekarallo
uikekarallo
 
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: problema con formulario

Igual no me expliqué con claridad. Le dices qué hacer si falla el envío del mail, pero no le dices qué hacer si faltan los datos. Mira:

Código PHP:
Ver original
  1. <?php
  2. $usersmtp ="[email protected]";
  3. $pass="LIMASn4tos";
  4. $destino="[email protected]";
  5.  
  6.  // aquí le dices qué hacer si todo está en orden:
  7. if ( $_POST['enviar'] == "1" && $_POST['nombre'] != "" && $_POST['email'] != "" && $_POST['consulta'] != "" )
  8.  
  9. {
  10.  
  11. require_once("fzo.mail.php");
  12.  
  13. $mail = new SMTP("localhost",$usersmtp,$pass);
  14.  
  15.  
  16. $de = $usersmtp;
  17. $a = $destino;
  18. $asunto = "E-mail Contacto web marcolimas";
  19. $cc = $_POST['[email protected]'];
  20. $bcc = $_POST['bcc'];
  21. $cuerpo = "Este es un e-mail enviado desde el formulario de contacto de www.marcolimas.com.ar" . "\n";
  22. $cuerpo .= "Nombre: " .$_POST['nombre'] . "\n";
  23. $cuerpo .= "Telefono: " .$_POST['telefono'] . "\n";
  24. $cuerpo .= "Email: " .$_POST['email'] . "\n";
  25. $cuerpo .= "Consulta: " .$_POST['consulta'] . "\n";
  26. $header = $mail->make_header(
  27. $de,
  28. $a,
  29. $asunto,
  30. $_POST['prioridad'],
  31. $cc,
  32. $bcc
  33. );
  34.  
  35. /*
  36. $header .= "Reply-To: ".$_POST['from']." \r\n";
  37. $header .= "Content-Type: text/plain; charset=\"iso-8859-1\" \r\n";
  38. $header .= "Content-Transfer-Encoding: 8bit \r\n";
  39. $header .= "MIME-Version: 1.0 \r\n";
  40. */
  41.  
  42.  
  43.  
  44. if( !$mail->smtp_send($de, $a, $header, $cuerpo, $cc, $bcc) )
  45. {
  46. header('Location: contacto.php?enviado=si');
  47. exit();
  48. }
  49. else
  50. {
  51. header('Location: contacto.php?enviado=no');
  52. exit();
  53. }
  54. // pero aquí acabas el script sin decirle qué hacer si no es así.
  55. }
  56. // podrías decirle que haga lo mismo que cuando falla el envío:
  57. else
  58. {
  59.   header('Location: contacto.php?enviado=no');
  60.   exit();
  61. }
  62. ?>