Buenos días, he encontrado un tuto de un formulario php sencillo y efectivo pero al que querría modificar algo que no consigo.
formulario.hmtl:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es">
<head>
<title>Ejemplo de envío de formulario por email con php</title>
<meta name="description" content="Formulario de contacto enviado por correo electronico usando php"/>
</head>
<body>
<div id="formulario">
<form action="enviar.php" method="POST">
Nombre: <input name="nombre" size="40" type="text" />
Email: <input name="email" size="40" type="text" />
Asunto: <input name="asunto" size="40" type="text" />
Para: <select name="para">
<option value="[email protected]">Dpto. de publicidad</option>
<option value="[email protected]">Dpto. de administracion</option>
</select>
Mensaje: <textarea cols="40" rows="6" name="mensaje"></textarea>
<input name="enviar" type="submit" value="Enviar" />
</form>
</div>
</body>
</html>
Y en enviar.php
Código PHP:
<?php
//variable de validacion
$valida = true;
if (empty($_POST['nombre'])) {
echo "<b>No se especifico nombre</b><br/>";
$valida = false;
}
if (empty($_POST['email'])) {
echo "<b>No se especifico E - mail</b><br/>";
$valida = false;
}
if (empty($_POST['asunto'])) {
echo "<b>No se especifico asunto</b><br/>";
$valida = false;
}
if (empty($_POST['mensaje'])) {
echo "<b>Por favor, no envie un mensaje en blanco</b><br/>";
$valida = false;
}
// Validamos la direccion de correo electronico
if (!strchr($_POST['email'],"@") || !strchr($_POST['email'],"."))
{
echo "<b>No es un correo valido</b><br/>";
$valida = false;
}
// Si las comprobaciones son correctas
if ($valida == true)
{
// Creamos el header para el mensaje
// para:
$to = $_POST['para'];
// Asunto
$subject = $_POST['asunto'];
// Cabeceras del mail (Content-Type y demas info)
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
// El From: en la forma Nombre <[email protected]>, esto garantiza que
// el receptor vea solo el nombre de quien envia
$headers .= "From: ".$_POST['nombre']." <".$_POST['email'].">\n";
// Opcional: Resopnder a:
$headers .= "Reply-To: " . $_POST['email']."\n";
//Opcional X-Mailer
$headers .= "X-Mailer: PHP/" . phpversion();
// Cuerpo del email
$message = $_POST['mensaje'];
if(mail($to, $subject, $message,$headers))
{
echo "<p>Mensaje enviado, Gracias por sus sugerencias.<br /><a href=\"javascript:history.go(-1)\">Volver</a></p>";
}
}
?>
La cuestión es que al dar enviar, si dejas algun campo en blanco salta enviar.php y me gustaría que esos mensajes se cargaran en el campo en el que falta info en formulario.hmtl
Alguien sabe como se podría hacer?
Muchas gracias
saludos