Foros del Web » Programando para Internet » PHP »

Redireccionar a Pagina de Agradecimiento en Script PHP

Estas en el tema de Redireccionar a Pagina de Agradecimiento en Script PHP en el foro de PHP en Foros del Web. Ya tengo mi formmulario de contacto al webmaster creado, con mi script, todo me funciona normal, los correos me llegan, pero quiero saber una cosa, ...
  #1 (permalink)  
Antiguo 05/10/2005, 08:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
Redireccionar a Pagina de Agradecimiento en Script PHP

Ya tengo mi formmulario de contacto al webmaster creado, con mi script, todo me funciona normal, los correos me llegan, pero quiero saber una cosa, el script viene preconfigurado a una pagina de agradecimiento en fondo blanco, sin vida, como puedo hacer para redireccionar los agradecimientos a una pagina html aparte?...

Muchas gracias...en que parte pongo el link?...

este es el codigo...

<?php
if ($_POST['submit'] == TRUE) {
$receiverMail = "[email protected]";
$name = stripslashes(strip_tags($_POST['name']));
$email = stripslashes(strip_tags($_POST['email']));
$subject = stripslashes(strip_tags($_POST['subject']));
$msg = stripslashes(strip_tags($_POST['msg']));
$ip = $_SERVER['REMOTE_ADDR'];
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo "<h2>El correo no ha sido enviado</h2><p>Por favor llene los campos requeridos</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h2>El correo no ha sido enviado</h2><p>La dirección de correo es invalida</p>";
}
elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
echo "<h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"; }
else {
echo "<h2>El correo no ha sido enviado</h2><p>Por favor intentelo otra vez... Si el problema persiste debe ser debido a una falla en el servidor.</p>";
}
}
else { ?>

<?php } ?>


Por favor ayudenme a editar las lineas correspondientes sin que se malogre todo, solo eso me falta para acabar...se los voy a agredecer mucho...
  #2 (permalink)  
Antiguo 05/10/2005, 08:29
 
Fecha de Ingreso: septiembre-2005
Mensajes: 101
Antigüedad: 18 años, 7 meses
Puntos: 0
modifica esta linea...

Código PHP:
 echo "<h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"
y ponlo asi...

Código PHP:
echo "<Meta http-equip='Refresh' content='2;Url=DIRECCION A LA QUE QUIERES IR'><h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"
debes poner la url a la que quieres ir, pasados dos segundos tras cargar la página te redirigirá

suerte
  #3 (permalink)  
Antiguo 05/10/2005, 08:35
 
Fecha de Ingreso: mayo-2002
Ubicación: Lima
Mensajes: 11
Antigüedad: 21 años, 11 meses
Puntos: 0
Vamos a ver

Saludos :

Primero vamos a saber que hace tu script.


Código PHP:
<?php
//Esta linea cheka que post no se encuentre vacio.
if ($_POST['submit'] == TRUE) {
$receiverMail "[email protected]"// quien recibira el email
$name stripslashes(strip_tags($_POST['name'])); //Limpia la variable
$email stripslashes(strip_tags($_POST['email'])); //Limpia la variable
$subject stripslashes(strip_tags($_POST['subject']));  //Limpia la variable
$msg stripslashes(strip_tags($_POST['msg']));  //Limpia la variable
$ip $_SERVER['REMOTE_ADDR']; //Inserta la IP desde donde se envia el email.
$msgformat "From: $name ($ip)\nEmail: $email\n\n$msg"//Formatea el mensaje.

//Este if (si..) comprueba que los campos no se encuentren vacios.
if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo 
"<h2>El correo no ha sido enviado</h2><p>Por favor llene los campos requeridos</p>";
}
// este elseif (de lo contrario si..) compruba que el email sea valido
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)) {
echo 
"<h2>El correo no ha sido enviado</h2><p>La dirección de correo es invalida</p>";
}
// este de aqui es el que importa, este bloque nos dice que si lo anterior es correcto
// el script procedera a enviar el correo
elseif(mail($receiverMail$subject$msgformat"From: $name <$email>")) {
echo 
"<h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"; }
//Esto se mostrara en caso lo demas falle.
else {
echo 
"<h2>El correo no ha sido enviado</h2><p>Por favor intentelo otra vez... Si el problema persiste debe ser debido a una falla en el servidor.</p>";
}
}
// Esto solo se ejecutara si submit esta vacio.
else { ?>

<?php ?>
ahora extraemos el trozo de codigo que es el que te interesa

Código PHP:
elseif(mail($receiverMail$subject$msgformat"From: $name <$email>")) {
echo 
"<h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"; } 
como ves este bloque lo que hace es darte el mensaje confirmando el envio del mensaje, si deseas que en lugar de mostrar ese mensaje redirrecione a otra pagina X debes de modificarlo para que quede de esta manera

Código PHP:
elseif(mail($receiverMail$subject$msgformat"From: $name <$email>")) {
  
header("Location: http://www.example.com/agradecimiento.htm");

donde deberas de cambiar "http://www.example.com/agradecimiento.htm" por la direccion a donde quieras que se redireccione la pagina

Espero haber podido ayudado
  #4 (permalink)  
Antiguo 05/10/2005, 08:45
 
Fecha de Ingreso: septiembre-2005
Mensajes: 101
Antigüedad: 18 años, 7 meses
Puntos: 0
Cita:
Iniciado por aerovoyager
Saludos :

Primero vamos a saber que hace tu script.


Código PHP:
<?php
//Esta linea cheka que post no se encuentre vacio.
if ($_POST['submit'] == TRUE) {
$receiverMail "[email protected]"// quien recibira el email
$name stripslashes(strip_tags($_POST['name'])); //Limpia la variable
$email stripslashes(strip_tags($_POST['email'])); //Limpia la variable
$subject stripslashes(strip_tags($_POST['subject']));  //Limpia la variable
$msg stripslashes(strip_tags($_POST['msg']));  //Limpia la variable
$ip $_SERVER['REMOTE_ADDR']; //Inserta la IP desde donde se envia el email.
$msgformat "From: $name ($ip)\nEmail: $email\n\n$msg"//Formatea el mensaje.

//Este if (si..) comprueba que los campos no se encuentren vacios.
if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo 
"<h2>El correo no ha sido enviado</h2><p>Por favor llene los campos requeridos</p>";
}
// este elseif (de lo contrario si..) compruba que el email sea valido
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)) {
echo 
"<h2>El correo no ha sido enviado</h2><p>La dirección de correo es invalida</p>";
}
// este de aqui es el que importa, este bloque nos dice que si lo anterior es correcto
// el script procedera a enviar el correo
elseif(mail($receiverMail$subject$msgformat"From: $name <$email>")) {
echo 
"<h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"; }
//Esto se mostrara en caso lo demas falle.
else {
echo 
"<h2>El correo no ha sido enviado</h2><p>Por favor intentelo otra vez... Si el problema persiste debe ser debido a una falla en el servidor.</p>";
}
}
// Esto solo se ejecutara si submit esta vacio.
else { ?>

<?php ?>
ahora extraemos el trozo de codigo que es el que te interesa

Código PHP:
elseif(mail($receiverMail$subject$msgformat"From: $name <$email>")) {
echo 
"<h2>El correo ha sido enviado!</h2><p>Nos contactaremos con UD. los más rapido posible.</p>"; } 
como ves este bloque lo que hace es darte el mensaje confirmando el envio del mensaje, si deseas que en lugar de mostrar ese mensaje redirrecione a otra pagina X debes de modificarlo para que quede de esta manera

Código PHP:
elseif(mail($receiverMail$subject$msgformat"From: $name <$email>")) {
  
header("Location: http://www.example.com/agradecimiento.htm");

donde deberas de cambiar "http://www.example.com/agradecimiento.htm" por la direccion a donde quieras que se redireccione la pagina

Espero haber podido ayudado
tambien tambien
  #5 (permalink)  
Antiguo 05/10/2005, 10:10
 
Fecha de Ingreso: septiembre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
Muchas Gracias....que pronta respuesta..de verdad estoy muy agradecido, pero voy a probar, por favor no cierren en post!!!
  #6 (permalink)  
Antiguo 05/10/2005, 10:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
Ok, ok, estoy editando el codigo para ver como queda, pero una cosa más, quiero saber si este codigo tiene algun mensaje de error o algo asi, segun como veo SI, pero como hacer para redireccionar el mensaje de error a otra pagina en html, osea redireccionar los mensajes necesarios a paginas web..o solo algunos...veo varios mensajes alli en el codigo, lo digo porque en el server lycos free en el que se encuentra mi pagina si muestro estos mensajes del mismo codigo, en una pagina aparte en blanco (con solo el mensaje) me salen esos molestos poups!!y avisos y publicidad...
  #7 (permalink)  
Antiguo 05/10/2005, 12:48
 
Fecha de Ingreso: septiembre-2005
Mensajes: 101
Antigüedad: 18 años, 7 meses
Puntos: 0
haz lo mismo pero aqui

Código PHP:
echo "<h2>El correo no ha sido enviado</h2><p>Por favor intentelo otra vez... Si el problema persiste debe ser debido a una falla en el servidor.</p>"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:13.