PHP - como redireccionar un formulario que ha sido enviado

 
Vista:

como redireccionar un formulario que ha sido enviado

Publicado por willy rivera (1 intervención) el 18/12/2016 16:55:07
Estimados tengo un problema.
No se mucho de códigos pero necesito que aparezca mi pagina de inicio una vez que envíe el formulario de contacto.

Este es el código PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
if(isset($_POST['email'])) {
 
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "ventas@makinghomedeco.pe";
$email_subject = "Contacto desde el sitio web";
 
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
 
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}
 
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['first_name'] . "\n";
$email_message .= "Apellido: " . $_POST['last_name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Teléfono: " . $_POST['telephone'] . "\n";
$email_message .= "Comentarios: " . $_POST['comments'] . "\n\n";
 
 
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

como redireccionar un formulario que ha sido enviado

Publicado por xve (6935 intervenciones) el 18/12/2016 20:26:21
Hola Willy, puedes hacer algo como esto al final...

1
header("location:index.php");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier

como redireccionar un formulario que ha sido enviado

Publicado por Javier (11 intervenciones) el 20/12/2016 16:16:36
Cuidado con esto. Con las nuevas versiones de PHP no te lo permite y entra en bucle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier

como redireccionar un formulario que ha sido enviado

Publicado por Javier (11 intervenciones) el 21/12/2016 13:05:45
Te puedo prometer que yo lo tenía definido así y tuve que cambiarlo porque no me redireccionaba correctamnte. Es más,por lo que leí, el header debe de ir en la cabecera para que no entre en conflicto.

Voy a leer lo que has mandado, siempre es bueno formarse!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier

como redireccionar un formulario que ha sido enviado

Publicado por Javier (11 intervenciones) el 20/12/2016 16:15:19
Al final del código PHP justo despues de enviar el mail añádele lo siguiente:

echo '<script type="text/javascript">
window.location="index.php";
</script>';
}

Te quedaría algo como esto:
1
2
3
4
5
6
7
8
9
10
11
/ Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
 
echo '<script type="text/javascript">
    window.location="index.php";
    </script>';
	}
?>

Si en vez de querer que vaya al inicio, deseas que se redirija a otro lugar solo has de cambiar la ruta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar