Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/06/2010, 06:07
all-ill
 
Fecha de Ingreso: junio-2002
Mensajes: 750
Antigüedad: 21 años, 11 meses
Puntos: 22
Respuesta: Error formulario php i include?

Porque la única condición indicada para redirigir a otra página es el envío del mail, no hay una condición para indicar cuando se ha de enviar el mail (es decir, no se revisa si ha recibido datos del formulario).
Además sería conveniente filtrar los datos enviados en el formulario para evitar problemas de seguridad.
Hace tiempo que no toco php, pero un ejemplo podría ser algo parecido a lo siguiente:
Código PHP:
Ver original
  1. <?php
  2. // comprobar que se ha enviado el formulario
  3. if( isset($_POST['submit']) && isset($_POST['message']) && isset($_POST['email']) ){
  4.  
  5. // htmlentities para filtrar el contenido recibido del formulario
  6. $nombre = htmlentities($_POST['nombre']);
  7.  
  8. // revisar que la dirección de e-mail recibida mediante el formulario tenga un formato correcto
  9. if (preg_match('/^[^@\s<&>]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $_POST['email']))
  10. {
  11. $email = $_POST['email'];
  12. }
  13.  
  14. // htmlentities para filtrar el contenido recibido del formulario
  15. $message = htmlentities($_POST['message']);
  16.  
  17. $thank="bio.php";
  18.  
  19. $message = "
  20. nombre:".$nombre."
  21. email:".$email."
  22. message:".$message."";
  23.  
  24. if (mail($mail,"consulta",$message)){
  25.        Header ("Location: $thank");
  26. }
  27. }
  28. include ("head.html");
  29. include ("menu.html");
  30. ?>