PHP - Ayuda para redireccionar luego de enviar formulario

   
Vista:

Ayuda para redireccionar luego de enviar formulario

Publicado por diego (2 intervenciones) el 26/09/2014 17:43:43
Buenas a todo el mundo, ante todo muchas gracias por tomarse el tiempo de leer.

La consulta que por la cual estoy aca es la siguiente. Tengo un formulario de contacto en mi sitio el cual mediante el archivo enviar.php funciona a la perfeccion. Si falta algun dato, muestra el mensaje y vualve a mostrar el formulario, y si esta todo OK manda el mensaje y muestra la confirmacion.

El problema es que no puedo lograr que en lugar de volver a la pagina anterior (la del formulario) redireccione al contacto a la home page. (no tiene logica que le muestre un mensaje de su correo se ha enviado correctamente y lo mande de nuevo a la pagina donde esta el formulario, se entiende?)

Aca dejo el script:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!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>TITULO</title> <!-- título -->
 
</head>
 
<body>
 
<?php
$Nombre = $_POST['Nombre'];
$Correo = $_POST['Correo'];
$Mensaje = $_POST['Mensaje'];
$Telefono = $_POST['Telefono'];
 
if ($Nombre=='' || $Correo=='' || $Mensaje==''){
 
echo "<script>alert('Los campos marcados con * son obligatorios');location.href ='javascript:history.back()';</script>";
 
}else{
 
 
    require("includes/class.phpmailer.php");
    $mail = new PHPMailer();
 
    $mail->From     = $Correo;
    $mail->FromName = $Nombre;
    $mail->AddAddress("MAIL"); // Dirección a la que llegaran los mensajes.
 
// Aquí van los datos que apareceran en el correo que reciba
 
    $mail->WordWrap = 50;
    $mail->IsHTML(true);
    $mail->Subject  =  "TITULO";
    $mail->Body     =  "Nombre: $Nombre \n<br />".
    "Email: $Correo \n<br />".
    "Tel: $Telefono \n<br />".
    "Mensaje: $Mensaje \n<br />";
 
// Datos del servidor SMTP
 
    $mail->IsSMTP();
    $mail->Host = "HOST";  // Servidor de Salida.
    $mail->SMTPAuth = true;
    $mail->Port = 587;
    $mail->Username = "USUARIO";  // Correo Electrónico
    $mail->Password = "PASS"; // Contraseña
 
    if ($mail->Send())
    echo "<script>alert('Formulario Enviado');location.href ='javascript:history.back()';</script>";
    else
    echo "<script>alert('Error al enviar el formulario');location.href ='javascript:history.back()';</script>";
 
}
 
?>
</body>
</html>
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

Ayuda para redireccionar luego de enviar formulario

Publicado por xve (5522 intervenciones) el 27/09/2014 00:22:24
Hola Diego, de la manera que yo lo haría, seria redireccionando con el mismo PHP, en vez de utilizar JavaScript...

<?php
header("location:pagina.php");
return;
?>

El único inconveniente, que tienes que hacerlo antes de cualquier tag html...

No se si te puede servir... coméntanos, ok?
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

Ayuda para redireccionar luego de enviar formulario

Publicado por diego (2 intervenciones) el 27/09/2014 15:40:38
Muchas gracias por responder XVE.

No logro hacerlo funcionar, puede ser que este escribiendo esas lineas en lugar equivocado del script.

No hay forma de redireccionar con java, para editar directamente aca:

1
2
3
4
if ($mail->Send())
    echo "<script>alert('Formulario Enviado');location.href ='javascript:history.back()';</script>";
    else
    echo "<script>alert('Error al enviar el formulario');location.href ='javascript:history.back()';</script>";

Mil gracias nuevamente!

Diego.
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 xve

Ayuda para redireccionar luego de enviar formulario

Publicado por xve (5522 intervenciones) el 27/09/2014 21:30:45
Hola Diego, prueba así:

1
echo "<script>alert('Formulario Enviado');location.href =history.back();</script>";

Si nos puedes comentar...
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

Ayuda para redireccionar luego de enviar formulario

Publicado por xcirus (1 intervención) el 22/11/2016 06:27:37
intenta con esto

echo "<script>alert('El Registro a sido Modificado');window.location.href='nombrepagina.php';</script>";
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