envío de formulario con php
Hola,
tengo el siguiente código en el archivo php con el que
consigo enviar los datos al email indicado y que se pase a otra página de agradecimiento (recibido.php) pero por otro lado, si los campos no se completan se abre la página norecibido.php pero aún así los campos en blanco son enviados al email.
Podéis ayudarme, por favor!
Mil gracias!
<?
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$provincia = $_POST['provincia'];
$tengo = $_POST['tengo'];
$busco = $_POST['busco'];
$comentario = $_POST['comentario'];
$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-type: text/plain; charset=utf-8\r\n";
$mensaje = "Enviado el: " . date('d/m/Y', time()) . " \r\n";
$mensaje .= " \r\n";
$mensaje .= "--- DATOS DE CONTACTO ---" . " \r\n";
$mensaje .= "Nombre y Apellidos: " . $nombre . " \r\n";
$mensaje .= "Telefono: " . $telefono . " \r\n";
$mensaje .= "Email : " . $email . " \r\n";
$mensaje .= "Provincia: " . $provincia . " \r\n";
$mensaje .= "Tengo terreno: " . $tengo . " \r\n";
$mensaje .= "Busco terreno: " . $busco . " \r\n";
$mensaje .= "Consulta: " . $comentario . " \r\n";
$para = 'hey@gemitadinamita.es, info@casasdemaderafortaleza.com';
$asunto = "Recibiste un mensaje de $email desde formulario Casas de Madera Fortaleza " ;
mail($para, $asunto, $mensaje, $header);
echo header( 'Location: recibido.php');
if($nombre=="" || $telefono=="" || $email=="" || $provincia=="" || $email=="" || $comentario==""){
header ( 'Location: norecibido.php');
}else {
echo header( 'Location: recibido.php');
}
?>
gbr Plus
Ahora sí!!
Muchísimas gracias.
gbr
phpninja
La llamada a mail, debería realizarse si y sólo sí, todos los campos han sido rellenados, usease dentro del if.
Desde la línia de asunto:
...
$asunto = "Recibiste un mensaje de $email desde formulario Casas de Madera Fortaleza " ;
if($nombre=="" || $telefono=="" || $email=="" || $provincia=="" || $email=="" || $comentario==""){
header ( 'Location: norecibido.php');
}else {
mail($para, $asunto, $mensaje, $header);
echo header( 'Location: recibido.php');
}
?>
rrita
Hola:
En teoría simplemente con cambiar de sitio la linea de código donde le dices que mande el mail debería solucionarse tu problema. Tal y como lo tienes ahora siempre lo manda pero si lo colocas dentro de la condición únicamente lo mandará cuando esta se cumpla. En tu caso debería estar dentro del else del final, lo que equivaldría a: si no se cumple la condición de que alguno de los campos este incompleto entonces tienen que pasar dos cosas:
1- que pase a recibido.php
2-que mande el mail
Esperoque te sea util...