Hola compañeros, he estado leyendo bastante y no se donde tengo el fallo...
Tengo una web HTML que envia un formulario por PHP y quiero que cuando envíe el mensaje me redireccione otra vez a la web a ser posible con un mensaje previo de que ha sido enviado correctamente.
He visto que hay que poner header ("Location: loquesea.html"); o otra opción sería añadir un script después del código pero no lo consigo, seguro que hay algún fallo en el código y no lo veo :(
El mensaje se envía, y que muestre mensaje de que se ha enviado también pero después ya no se seguir
Código:
...
....
<FORM id="contacto" name="contacto" action="enviar.php" method="POST">
<p>
<label>Nombre<br />
<input name="nombre" type="text" id="nombre" size="30"/></label>
</p>
<p>
<label>Telefono<br />
<input name="telefono" type="text" id="telefono" size="30"/></label></p>
<p>
<label>E-mail<br />
<input name="mail" type="text" id="mail" size="30"/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje">
</textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/><input type="reset" name="Reset" value="Borrar"/></p>
</FORM>
....
...
Código:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>enviar</title>
</head>
<body>
<?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$telefono = $_POST['telefono'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ",
con telefono " . $telefono . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = '[email protected]';
$asunto = 'Consulta web';
mail($para, $asunto, utf8_decode($mensaje), $header);
echo 'Mensaje enviado correctamente';
header ("Location: index.html");
?>
</body>
</html>
¿¿Que tengo mal?? Me estoy volviendo un poco loco :S