No paro de darle vueltas pero no soy capaz de encontrar el dichoso fallo.
![Negando](http://static.forosdelweb.com/fdwtheme/images/smilies/negar.gif)
Os dejo tanto la parte del código HTML del formulario, como el JavaScript de validación, como el código PHP de envío por correo.
Código:
<script language="javascript" type="text/javascript"> <!--function Validar() {--> </script>if (document.contacto.Nombre.value == "") {}alert ('Necesitamos conocer su "Nombre"'); document.contacto.Nombre.focus(); return (false);} else if (document.contacto.eMail.value == "") {alert ('Debe especificar una direccion de "Correo"'); document.contacto.eMail.focus(); return (false);} else if (document.contacto.Mensaje.value == "") {alert ('Debe especificar un "Mensaje"'); document.contacto.Mensaje.focus(); return (false);} document.contacto.submit();
Código HTML:
<form name="contacto" method="post" onsubmit="return Validar();" action="enviar.php"> <p align="left"> <label><span class="Estilo1">Nombre</span><br /> <input name="Nombre" class="campo" type="text" size="50" /> </label> </p> <p align="left"> <label><span class="Estilo1">E-mail</span><br /> <input name="eMail" class="campo" type="text" size="50" /> </label> </p> <p align="left"> <label><span class="Estilo1">Empresa</span><br /> <input name="Empresa" class="campo" type="text" size="50" /> </label> </p> <p align="left"> <label> <span class="Estilo1">Asunto</span><br /> <input name="Asunto" class="campo" type="text" size="50" /> </label> </p> <p align="left"> <label><span class="Estilo1">Mensaje</span><br /> <textarea name="Mensaje" class="campo" cols="48" rows="8"></textarea> </label> </p> <input type="submit" name="Enviar" value="Enviar" /> <label> <input type="reset" name="Borrar" value="Borrar" /> </label> </form>
Código PHP:
<?php
ob_start(); // Buffering de salida. Para que no haya problemas luego con la funcion "header()"
$correo = $_POST['eMail']; // guardamos el campo email en una variable ya que lo utilizaremos en varias ocasiones en el script
$cuerpo = "<h1><u>Formulario de contacto</u></h1>";
$cuerpo .= "Nombre: <strong>" . $_POST['Nombre'] . "</strong><br />";
$cuerpo .= "E-mail: <strong>" . $correo . "</strong><br />";
$cuerpo .= "Empresa: <strong" . $_POST['Empresa'] . "</strong><br />";
$cuerpo .= "Asunto: <strong" . $_POST['Asunto'] . "</strong><br />";
$cuerpo .= "Mensaje: <strong>" . $_POST['Mensaje'] . "</strong>";
// para el envio en formato HTML
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=utf-8' . "\r\n";
/* direccion del remitente que la cogemos del formulario, en su programa de correo, en la línea De o From, le saldrá la dirección que se ha
puesto en el formulario */
$cabeceras .= "From: " . $correo . "\r\n";
/* direccion de respuesta, la cogemos del formulario, si le damos desde nuestro programa de correo, a Responder o Reply, directamente responderá
a la dirección que se ha puesto en el formulario */
$cabeceras .= "Reply-To: " . $correo . "\r\n";
// ruta del mensaje desde origen a destino
$cabeceras .= "Return-path: " . $correo . "\r\n";
// mando el correo... con la función mail()
if (mail("micorreo","Formulario de contacto",$cuerpo,$cabeceras)) {
// lo pongo dentro de un if para saber si hay problemas durante el envio
// Redirijo a la pagina de formulario recibido correctamente
header("location:enviado.html");
} else {
// Redirijo a la pagina de formulario enviado erroneamente
header("location:error.html");
} // cierro el 'else' del 'if' la funcion 'mail()'
?>