Foros del Web » Programando para Internet » PHP »

Validar formulario

Estas en el tema de Validar formulario en el foro de PHP en Foros del Web. Hola a todos, tengo creado un formulario con 5 campos de texto y un textarea es el siguiente: <form method="post" action="enviar.php"> <div id="formIzda"> <p>*Nombre<input type="text" ...
  #1 (permalink)  
Antiguo 02/01/2009, 14:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
Validar formulario

Hola a todos, tengo creado un formulario con 5 campos de texto y un textarea es el siguiente:

<form method="post" action="enviar.php">
<div id="formIzda">
<p>*Nombre<input type="text" name="nombre" id="cajaNombre" /></p>
<p>*Nº Pedido<input type="text" name="numpedido" id="cajaPedido" /></p>
<p>*Empresa<input type="text" name="empresa" id="cajaEmpresa" /></p>
<p>*Tel&eacute;fono<input type="text" name="telefono" id="cajaTel" /></p>
<p>*E-mail<input type="text" name="email" id="cajaMail" /></p>
</div>
<div id="formDer">
<p>*Descripci&oacute;n Incidencia</p>
<textarea rows="7" cols="26" name="incidencia"></textarea>
<p><input type="submit" value="Enviar" /><input type="reset" value="Borrar" /></p>
</div>
</form>
como veis todos los campos tienen que tener datos.

Tengo el siguiente codigo php que se corresponde con enviar.php ya que los datos se envian a una direccion de email.

<?php
//recuperamos los datos del formulario que llegan por post
$nombre = $_POST['nombre'];
$numpedido = $_POST['numpedido'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$mail = $_POST['email'];
$incidencia = $_POST['incidencia'];

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

//creamos el cuerpo del mensaje
$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Incidencia: " . $_POST['incidencia'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Incidencia';

if(mail($para, $asunto, utf8_decode($mensaje), $header))
{
header("Location:mensajeEnviado.html");
//echo 'Mensaje enviado. En breve nos pondremos en contacto con Usted';
} else {
header("Location:mensajeErroneo.html");
//echo 'Error el enviar el mensaje. Pruebe mas tarde';
}

?>
Pero me gustaria saber como puedo validar para que si no hay datos en los campos obligatorios me saque un mensaje de error y luego pueda seguir rellenando el formulario y enviarlo si ha terminado.


Gracias
  #2 (permalink)  
Antiguo 02/01/2009, 15:16
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Validar formulario

Dale una ojeada a la función empty(). Para conservar los datos puedes usar sesiones para guardar los datos de $_POST y luego recuperarlos en el formulario en caso de error.

Un saludo,
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 12:39.