Ver Mensaje Individual
  #38 (permalink)  
Antiguo 06/10/2009, 03:43
manupalaya
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 18 años
Puntos: 3
Respuesta: Formulario Completo

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
  1. ERROR el Nombre es obligatorio
  2. ERROR el Email es obligatorio
  3.  
  4. El mensaje se envio correctamente


Código Y si lo RELLENO me sale::
Ver original
  1. juan
  2.  
  3. 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.

Última edición por manupalaya; 06/10/2009 a las 04:01