Dejo el código completo del formulario por si alguien ve el error, os recuerdo que el problema es que solo envia el nombre y el mensaje pero no el correo.
Para mi que habria que incluir el email en la linea 37 porque es precisamente eso lo que me llega, nombre y mensaje solamente. muchas gracias
Código PHP:
Ver original<!-- desde aqui -->
<?php
if (isset($_POST['submit'])) { $error = "";
if (!empty($_POST['name'])) { $name = $_POST['name'];
} else {
$error .= "No ha escrito su nombre. <br />";
}
if (!empty($_POST['email'])) { $email = $_POST['email'];
if (!preg_match("/^[a-z0-9]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $email)){ $error .= "La direccion de e-mail no es correcta. <br/>";
}
} else {
$error .= "No ha escrito una direccion de e-mail. <br />";
}
if (!empty($_POST['message'])) { $message = $_POST['message'];
} else {
$error .= "No ha escrito el mensaje. <br />";
}
if(($_POST['code']) == $_SESSION['code']) {
$code = $_POST['code'];
} else {
$error .= "El codigo Captha introducido no es correcto. Por favor introduzcalo de nuevo.<br />";
}
$from = "From: " . $name . " <" . $email . ">\r\n";
$subject = "Mensaje desde el formulario de la web";
$content = $name ." Te ha enviado un mensaje: \n" . $message;
$success = "<h3>Gracias! Tu mensaje ha sido enviado!</h3>";
mail($to,$subject,$content,$from); }
}
?>
<div id="contactForm">
<h2>Formulario</h2>
<?php
echo '<p class="error"><strong>Su mensaje no ha sido enviado<br/> Ha ocurrido el siguiente error/errores :</strong><br/>' . $error . '</p>';
} elseif (!empty($success)) { echo $success;
}
?>
<form action="contacto.php" method="post">
<label>Nombre:</label>
<input type="text" name="name" value="<?php if($_POST['name']) { echo $_POST['name']; } ?>" />
<label>Email:</label>
<input type="text" name="email" value="<?php if($_POST['email']) { echo $_POST['email']; } ?>" />
<label>Mensaje:</label><br />
<textarea name="message" rows="20" cols="20"><?php if($_POST['message']) { echo $_POST['message']; } ?></textarea>
<label><img src="captcha.php"></label>
<input type="text" name="code"> <br />
<input type="submit" class="submit" name="submit" value="Send message" />
</form>
</div>
<!--hasta aqui -->