<?php
$email = $_POST["email"];
$mensaje = $_POST["mensaje"];
$asunto = "Nuevo mensaje de ".$_POST["nombre"]." ".$POST["apellidos"];
mail($email,$asunto,$mensaje);
?>
<form action="verify.php" method="POST" accept-charset="utf-8" role="form" name="formcontacto" id="formcontacto">
<?php
$email = $_POST["email"];
$mensaje = $_POST["mensaje"];
$asunto = "Nuevo mensaje de $email ".$_POST["nombre"]." ".$POST["apellidos"];
mail("miEmail@test.com",$asunto,$mensaje);
header("Location: ./exito.html");
exit;
yauros escribió:Exacto, en la definicion del formuarion debes de incluir method="post". Puedes ponerlo justo despues de action="verify.php".
Si quieres que se envie a tu email (pongamos por ejemplo miEmail@test.com, perdon habia puesto que se mandara al mail del usuario que rellena el formulario), y al mismo tiempo redirija a una pagina html (llamemosma exito.html). El código quedaría:
<?php
$email = $_POST["email"];
$mensaje = $_POST["mensaje"];
$asunto = "Nuevo mensaje de $email ".$_POST["nombre"]." ".$POST["apellidos"];
mail("miEmail@test.com",$asunto,$mensaje);
header("Location: ./exito.html");
exit;
?php
$email = $_POST["email"];
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$email = $_POST["email"];
$tlf = $_POST["tlf"];
$mensaje = $_POST["mensaje"];
$asunto = "Nuevo mensaje de ".$_POST["nombre"]." ".$POST["apellidos"];
mail("mimeil@gmail.com",$asunto,$nombre,$apellidos,$email,$tlf,$mensaje);
header("Location: ./exito.html");
exit;
?>
mail("mimeil@gmail.com",$asunto,$nombre,$apellidos,$email,$tlf,$mensaje);
header("Location: ./exito.html");
?php
$email = $_POST["email"];
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$tlf = $_POST["tlf"];
$asunto = "Nuevo mensaje de ".$_POST["nombre"]." ".$_POST["apellidos"];
$mensaje = "$asunto \r\n Tlf: $tlf Mail: $email \r\n".$_POST["mensaje"];
mail("mimeil@gmail.com",$asunto,$mensaje);
header("Location: ./exito.html");
exit;
?>
yauros escribió:Hola, veo algunos errores si. En el fragmento que te mandé me equivoque escribiendo una vez $POST, cuando es $_POST. Y la funcion para enviar correos no tiene tantos parámetros, quedaria tal como sigue:
?php
$email = $_POST["email"];
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$tlf = $_POST["tlf"];
$asunto = "Nuevo mensaje de ".$_POST["nombre"]." ".$_POST["apellidos"];
$mensaje = "$asunto \r\n Tlf: $tlf Mail: $email \r\n".$_POST["mensaje"];
mail("mimeil@gmail.com",$asunto,$mensaje);
header("Location: ./exito.html");
exit;
?>
el \r\n es para forzar un retorno de carro en el correo, creo que por defecto si no se especifica nada en la cabecera de html deberia de hacerlo.
Ya me dices si funciona
yauros escribió:Lo unico que se me ocurre es que no hayas especificado que el formulario va por post:
<form action="./verify.php" method="post"....
edit: si quieres que funcione independientemente de si el formulario va por post o por get, si sustituyes en el codigo los $_POST por $_REQUEST, deberia de funcionar igualmente
<?php
$email = $_POST["email"];
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$mensaje = $_POST["mensaje"];
$telefono = $_POST["tlf"];
$asunto = "Nuevo mensaje de ".$_POST["nombre"]." ".$_POST["apellidos"];
$mensaje = "$asunto \r\n tlf: $telefono; Email: $email; \r\n $mensaje";
mail("miemail@gmail.com",$asunto,$mensaje);
header("Location: ./exito.html");
exit;
?>