PHP - Redireccionar luego de alerta en formulario

 
Vista:

Redireccionar luego de alerta en formulario

Publicado por Alan Echeverria (4 intervenciones) el 25/01/2017 19:10:34
Buenos días, espero puedan ayudarme con un detalle en mi pagina web, tengo un formulario de contacto, el cual funciona a la perfección, envia el formulario a mi correo, y arroja una alerta diciendo que ha sido enviado, pero al darle aceptar me manda a contacto.php en blanco y para regresar a la pagina hay que darle al explorador back ya que si actualizas la pagina te dice si deseas reenviar el formulario, es posible que luego de enviar se regrese a la pagina de contacto.html o a index.html??? Les adjunto el contacto.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
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
62
63
64
65
66
67
68
69
<?php
 
//Retrieve form data. 
//GET - user submitted data using AJAX
//POST - in case user does not support javascript, we'll use POST instead
$name = ($_GET['name']) ? $_GET['name'] : $_POST['name'];
$email = ($_GET['email']) ?$_GET['email'] : $_POST['email'];
$comment = ($_GET['comment']) ?$_GET['comment'] : $_POST['comment'];

//flag to indicate which method it uses. If POST set it to 1

if ($_POST) $post=1;

//Simple server side validation for POST data, of course, you should validate the email
if (!$name) $errors[count($errors)] = 'Please enter your name.';
if (!$email) $errors[count($errors)] = 'Please enter your email.';
if (!$comment) $errors[count($errors)] = 'Please enter your comment.';

//if the errors array is empty, send the mail
if (!$errors) {

	//recipient - replace your email here
	$to = 'contacto@explormid.com.mx';
	//sender - from the form
	$from = $name . ' <' . $email . '>';
	
	//subject and the html message
	$subject = 'Message from ' . $name;
	$message = 'Name: ' . $name . '<br/><br/>
		       Email: ' . $email . '<br/><br/>
		       Message: ' . nl2br($comment) . '<br/>';

	//send the mail
	$result = sendmail($to, $subject, $message, $from);
	
	//if POST was used, display the message straight away
	if ($_POST) {
		if ($result) echo '<script language="javascript">alert("Tu mensaje ha sido enviado, en breves nos pondremos en contacto contigo");</script>';
		else echo 'Sorry, unexpected error. Please try again later';
 
	//else if GET was used, return the boolean value so that 
	//ajax script can react accordingly
	//1 means success, 0 means failed
	} else {
		echo $result;
	}
 
//if the errors array has values
} else {
	//display the errors message
	for ($i=0; $i<count($errors); $i++) echo $errors[$i] . '<br/>';
	echo '<a href="index.html">Back</a>';
	exit;
}
 
 
//Simple mail function with HTML header
function sendmail($to, $subject, $message, $from) {
	$headers = "MIME-Version: 1.0" . "\r\n";
	$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
	$headers .= 'From: ' . $from . "\r\n";
 
	$result = mail($to,$subject,$message,$headers);
 
	if ($result) return 1;
	else return 0;
}
 
?>
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

Redireccionar luego de alerta en formulario

Publicado por xve (6935 intervenciones) el 25/01/2017 20:28:46
Hola Alan, para ello, puedes hacerlo tanto en Javascript como en PHP, como en HTML...

en php es con:
1
2
3
4
<?php
header("location:pagina.html");
return;
?>

en javascript es:
1
2
3
<script>
location.href="pagina.html";
</script>

con HTML:
1
<meta HTTP-EQUIV="Refresh" CONTENT="0;URL=pagina.html">

Espero que te sirva
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

Redireccionar luego de alerta en formulario

Publicado por Alan Echeverria (4 intervenciones) el 25/01/2017 20:43:40
Hola amigo, muchas gracias por tu respuesta, si pongo lo que me pones en el contacto.php, me reenvia al html pero no me manda la alerta de su mensaje ha sido enviado...
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

Redireccionar luego de alerta en formulario

Publicado por Alan Echeverria (4 intervenciones) el 25/01/2017 21:05:13
Hola amigo, ya funciono, lo hice de la siguiente manera en el echo puse lo siguiente

1
2
3
4
5
6
//if POST was used, display the message straight away
if ($_POST) {
	if ($result) echo '<script type="text/javascript">
alert("Tu mensaje ha sido enviado exitosamente, en breves nos pondremos en contacto contigo");
window.location.assign("contacto.html");
</script>';

Agradezco tu apoyo y tu pronta respuesta

Saludos cordiales
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