Comunidad de diseño web y desarrollo en internet online

Campos obligatorios en PHP

Citar            
MensajeEscrito el 13 Dic 2006 05:50 am
Hola, si alguien me puede ayudar se lo agradecere: tengo un codigo PHP para enviar mail desde un HTML, y necesito hacer que algunos campos sean obligatorios de completar (p. ej: nombre, apellido y telefono) para que se envie el formulario, de lo contrario no se envia. Por favor que alguien me de una mano o me diga donde mas puedo buscar sobre esto, gracias, el codigo es este:

Código :

<?php 

$nombre = $_POST['nombre']; 
$mail = $_POST['mail']; 
$empresa = $_POST['empresa']; 

$header = 'From: ' . $mail . " \r\n"; 
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; 
$header .= "Mime-Version: 1.0 \r\n"; 
$header .= "Content-Type: text/plain"; 

$mensaje = "Enviado el: " . date('d/m/Y', time()) . " \r\n"; 
$mensaje .= " \r\n"; 
$mensaje .= "--- DATOS PERSONALES ---" . " \r\n"; 
$mensaje .= "Nombre: " . $nombre . " \r\n"; 
$mensaje .= "Apellido: " . $apellido . " \r\n"; 
$mensaje .= "Telefono particular: " . $telefono . " \r\n"; 
$mensaje .= "Celular: " . $celular . " \r\n"; 
$mensaje .= "Correo electronico: " . $email . " \r\n"; 

$para = '[email protected]'; 
$asunto = "Curriculum vitae de " . $nombre . " \r\n"; 

mail($para, $asunto, utf8_decode($mensaje), $header); 

echo header( 'Location: enviook.htm' ); 

?>

Por galko

27 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 13 Dic 2006 11:01 am
Compruebas que te los han tecleado antes de enviar el email....

Código :

<?php 

$nombre = $_POST['nombre']; 
$mail = $_POST['mail']; 
$empresa = $_POST['empresa']; 

if($nombre=="" || $mail=="" || $empresa==""){
    die("Debe completar todos los campos");
}

//aqui el resto de tu codigo
?>
Es solo una forma así rápida de hacerlo, puedes poner un header para volver a donde te completan los datos o un enlace, la validación también debería de ser mas completa (por ejemplo comprobar que en $email hay un email válido) pero bueno, es una idea, espero te sirva ^^

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 13 Dic 2006 03:30 pm
puedes usar la función isset para ver si la variable fue creada o no, puedes usar empty para ver si la variable fue creada, pero está vacía o puedes usar strlen junto a trim para ver si la variable tiene cierta longitud y actuar conforme a eso....

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 13 Dic 2006 06:16 pm
Puedes usar la clase Utils de Dano y Maik cuando yo la libere. :lol:

Recomendación haz validaciones con expresiones regulares

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 14 Dic 2006 03:34 am
Gracias por la ayuda, me anda perfecto!!!!!! pero quisiera hacerle un cambio, en vez de que esta linea:

Código :

die("Debe completar todos los campos");

me lleve a otra pagina para darme el mensaje de que complete los campos, como se puede hacer para que en vez de eso, me aparezca un cartel con la advertencia? para que no me cambie la pagina. gracias nuevamente

Por galko

27 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 14 Dic 2006 08:27 am

Código :

<?php
if( ! ( $var1 && $var2 && $var3 )  ){ //si no están las variables
   header("Location: http://www.cristalab.com"); //lo redirigimos
} else { //si están
   echo "Felicidades, el formulario se completó correctamente"; //imprimimos el mensaje
}//end if
?>


Obvio, esto es MUY básico. Si realmente quieres validar con mayor precisión, las expresiones regulares son una muy buena opción; sino, PHP también ya tiene algunas funciones que ayudan con eso.

Por cierto, la función header() de PHP funciona sí y sólo si no se ha enviado ninguna salida antes al navegador.

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.