PHP - comprobar campos de formulario

 
Vista:

comprobar campos de formulario

Publicado por susilope (7 intervenciones) el 03/01/2009 13:07:28
Tengo un formulario en .html y me gustaria que cuando el usuario de al boton "enviar" si no ha rellenado alguno de los campos obligatorios le salga un mensaje y le permita rellenarlo, me gustaria hacerlo en el ficheor enviar.php, que se realice la comprobacion de si no hay algun campo relleno se lo indique. Os envio el codigo de lo que he realizdo.

Formulario en fichero .html

<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é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ó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>

Fichero .php

<?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 . " ";
$header .= "X-Mailer: PHP/" . phpversion() . " ";
$header .= "Mime-Version: 1.0 ";
$header .= "Content-Type: text/plain";

//creamos el cuerpo del mensaje
$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " ";
$mensaje .= "Su e-mail es: " . $mail . " ";
$mensaje .= "Incidencia: " . $_POST['incidencia'] . " ";
$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';
}
?>

Como compruebo que los campos esta rellenos?Porque como podeis comprobar todos los campos del formulario son obligatorios.

Gracias-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:comprobar campos de formulario

Publicado por ElTecla (45 intervenciones) el 03/01/2009 23:41:06
Que tal, te comento que la comprobacion que queres hacer la podes realizar con algo asi:

if($_POST['nombre'] == ""){
acciones a realizar
}

y asi con todas las variables, pero te recomendaria que la validacion de campos de un form la hagas con JavaScript, para evitar enviar peticiones al server sin sentido.

fijat en este link que te va a servir...

http://www.desarrolloweb.com/articulos/1767.php

Espero que te sirva

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comprobar campos de formulario

Publicado por Susi (7 intervenciones) el 04/01/2009 20:14:35
Gracias, enseguida me pongo a probarlo-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comprobar campos de formulario

Publicado por susilope (7 intervenciones) el 04/01/2009 20:57:05
Hola de nuevo, el codigo javascript es bastante sencillo , pero yo esos datos los quiero enviar a una determinada direccion de correo que como ves en el php se hace con mail, pero en javascritp simplemente lo envia con la instruccion document.nombreform.submit() y no se donde indicarle la direccion de correo.

Ademas el archivo php ya no lo tendria que utilizar??

Como ves tengo bastantes dudas al mezclar con el javascript..

Creo que lo voy a hacer en el php.
Tu me puedes decir como indicar con una ventana de alert como la de javascript en php
Porque en php puedo utilizar cualquier codigo entre comillas no?

Como ves estoy un poco pez.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comprobar campos de formulario

Publicado por ElTecla (45 intervenciones) el 05/01/2009 17:51:11
Susi, lo que yo te recomendaba era hacer solo la verificacion con java script, es decir, comprobar que todos los campos esten llenos, si la funcion devuelve true, se envia el formulario por post al archivo php que vos quieras. La ventaja de esto es que en el archivo php que reciba el form, solo tenes que enviar el mail como lo hacias antes, sin preocuparte de la validacion, porque ya la hiciste por JS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comprobar campos de formulario

Publicado por susilope (7 intervenciones) el 06/01/2009 17:22:06
Ok, voy a intentarlo y te cuento, ese codigo javascript lo hago en el archivo .html donde tengo el formulario no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comprobar campos de formulario

Publicado por susi (7 intervenciones) el 08/01/2009 20:07:18
Muchisimas gracias, ya me ha funcionado y perfectamente como tu dices descargando al servidor de hacer esa comprobacion. Gracias

Y abusando un poco mas, ahora quiero hacer otro formulario pero pidiendo un nombre de usuario y una contraseña, se supone que estos datos los tengo almacenados en una base de datos, y cuando el usuario introduce su usuario y contraseña accede a la misma para ver si coinciden no?,
Me podrias ayudar un poco de como hacerlo, el form ya le tengo con sus estilos y todo solo me queda picar el codigo php, o javascript que necesite.
Es para permitir a un usuario acceder a un determinada area de la web

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar