Foros del Web » Programando para Internet » PHP »

Evitar Formulario Vacio

Estas en el tema de Evitar Formulario Vacio en el foro de PHP en Foros del Web. Código PHP: <? $mensaje  =  "" ; if (isset( $_POST [ "Submit" ])){ if(empty( $_POST [ "nombre" ])){ $mensaje  .=  "Debes escribir tu nombre y apellido.<br>" ; } if(empty( $_POST [ ...
  #1 (permalink)  
Antiguo 19/02/2004, 20:40
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
Evitar Formulario Vacio

Código PHP:
<?
$mensaje 
"";
if (isset(
$_POST["Submit"])){
if(empty(
$_POST["nombre"])){
$mensaje .= "Debes escribir tu nombre y apellido.<br>";
}
if(empty(
$_POST["telefono"])){
$mensaje .= "Debes escribir tu numero de Telefono.<br>";
}
if(empty(
$_POST["direccion"])){
$mensaje .= "Debes escribir tu Direccion.<br>";
}
if (!
eregi"^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$"$_POST["email"])) { 
$mensaje .= "Debes poner un email valido.<br>";
}
if (
$mensaje != ""){
echo 
"<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>
                  Se han producido los siguientes errores:<br> <font size=\"1\" color=\"red\"><p align=\"left\"> $mensaje </p></font>
                  <a href='javascript:history.back(1)'><font size=\"1\" color=\"red\"> << Volver</font></a> 
                  </b></font> </div>"
;
exit;

}
}

    
//Estoy recibiendo el formulario, compongo el cuerpo 
    
$fecha date("d-m-y H:i a");
    
$nombre $_POST["nombre"];
    
$mes $_POST["mes"];
    
$dia $_POST["dia"];
    
$anio $_POST["anio"];
    
$telefono $_POST["telefono"];
    
$telefono2 $_POST["telefonodos"];
    
$direccion $_POST["direccion"];
    
$email $_POST["email"];
    
$cuerpo "<table><td>"//aqui va mi html 
    
$to "[email protected]";
    
$subject "$nombre - Formulario";
    
$mailheader "MIME-Version: 1.0 \r\n"
    
$mailheader .= "Content-type: text/html; charset=iso-8859-1 \r\n"
    
$mailheader .= "From: Formulario<$email> \r\n"
    
$mailheader .= "Return-path: $email \r\n";
    
$mailheader .= "X-Priority: 1 \r\n"
    
$mailheader .= "X-MSMail-Priority: High \r\n"
    
$mailheader .= "X-Mailer: PHP/".phpversion()." \n"
    if (
mail ($to,$subject,$cuerpo,$mailheader))
    {
    
header("Location:enviado.htm");
    exit;
    } else {
    
header("Location:noenviado.htm");
    exit;
    }
?>
Este es mi codigo que valida un formulario, cuando alguien entra por formulario.php en el navegador me redirecciona a enviado.htm

y a mi email llega vacio que debo hacer para que no suceda eso?
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol

Última edición por Gerald; 19/02/2004 a las 21:13
  #2 (permalink)  
Antiguo 19/02/2004, 21:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Mete tu código de envio del e-mail y resto de redireccionamientos en tu if del submit ...


Código PHP:
<?
if (isset($_POST["Submit"])){

// validas .. las diferentes variables de tu formulario ..

// Compruebas si has tenido errores con tu "flag"
if ($mensaje != ""){
echo 
"<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>
                  Se han producido los siguientes errores:<br> <font size=\"1\" color=\"red\"><p align=\"left\"> $mensaje </p></font>
                  <a href='javascript:history.back(1)'><font size=\"1\" color=\"red\"> << Volver</font></a> 
                  </b></font> </div>"
;
exit;
}

// Envias el e-mail .. Si el flujo del código ha llegado aquí es por que valido tus variables .. sino ya ubiera salido por el exit el script ..


} else { // cierras el if del submit ...

 
echo "No se puede entrar directo aquí";

}
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/02/2004, 15:27
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
Gracias Cluster eres un master funciono tal como lo dijiste (Y)
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:42.