El formulario esta mal y tambien las validaciones:
A fin de encontrar los errores, he simplificado el formulario.
Para ello he cambiado el archivo formulario.php por:
Código PHP:
<html><head><title>formulario</title></head>
<body>
<form ACTION="procesa.php" METHOD="POST">
Nombre:<INPUT TYPE="text" NAME="nombre">(obligatorio)<BR>
email: <input type="text" name="email" >(obligatorio)<BR>
<INPUT TYPE="submit" VALUE="Enviar">
</form>
</body>
</html>
Y el archivo procesa.php por:
Código PHP:
<?php session_start();//verifico captcha
if ($_SESSION['tmptxt'] != $_POST['tmptxt']) {
echo '<script>alert(Codigo CAPTCHA INVALIDO)</script>';//mensaje de error correspondiente
echo "<script>location.href=javascript:history.back ()</script>";//con esto no se pierden los datos del FORM
}
//**************** COMPRUEBO NOMBRE VACIO **********************
if (!($_POST['nombre'])){
echo 'ERROR el Nombre es obligatorio';
echo "<script>location.href=javascript:history.back ()</script>";
echo "<br>";
}
//**************** COMPRUEBO EMAIL VACIO Y VALIDO **********************
if (!($_POST['email'])){
echo 'ERROR el Email es obligatorio';
echo "<script>location.href=javascript:history.back ()</script>";
}
//una vez que verifique todo, pues envÃ*o el email.
//Declaras hacia donde se envÃ*a el correo, el Destinatario
$recipiente = "[email protected]";
//defines el Asunto del correo
$asunto = "Contacto desde la Pagina WEB ";
//defines el cuerpo del mensaje
$message ="nombre: ".$_POST['nombre']."<br>";
$message .="email: ".$_POST['email']."<br>";
$message .="preferencias: ".$_POST['karate']."<br>";
$message .="ciudad: ".$_POST['ciudad']."<br>";
$message .="comentarios: ".$_POST['comentarios']."<br>";
$message = stripslashes($message);
//haces los encabezados
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email\r\n";
$headers .= "Repaly-to: $email\r\n";
$headers .= "Cc: ".$_POST['email']."\r\n";//le envÃ*as una copia al remitente
//chao email!!
mail($recipiente,$asunto,$message,$headers);
echo $_POST['nombre'];
echo '<br>';
echo $_POST['email'];
echo '<br>';
echo "El mensaje se envio correctamente";
?>
Código Si el formuario lo dejo en BLANCO me sale::
Ver original
Código Y si lo RELLENO me sale::
Ver originaljuan
El mensaje se envio correctamente
Lo que quiere decir que ahora las variables si que se pasan al archivo procesa.php, pero sin embargo este el formulario rellenado o no, siempre lo envia
¿Alguien puede ayudar?
Muchas gracias.