Foros del Web » Programando para Internet » PHP »

Como redicionar a una web

Estas en el tema de Como redicionar a una web en el foro de PHP en Foros del Web. Buenas que tal tengo este codifo php, que hace que mande un formulario desde mi pagina web hacie el email que yo quiero, el caso ...
  #1 (permalink)  
Antiguo 02/05/2010, 10:36
Avatar de orllo55  
Fecha de Ingreso: junio-2006
Mensajes: 44
Antigüedad: 17 años, 10 meses
Puntos: 0
Como redicionar a una web

Buenas que tal tengo este codifo php, que hace que mande un formulario desde mi pagina web hacie el email que yo quiero, el caso es que funciona bien el formulario, lo que pasa es que cuando lo manda, me manda a una pagina en php en blanco con un texto que dice, Gracias por su mensaje.

Contactaremos con usted a la brevedad posible, muchas gracias

Por favor no responda a este correo.


y lo que me gustaria es que me redicciones a la misma pagina web de la cual he mandado el formulario.

gracias

Código PHP:
<?php

// ------- aqui lo configuro  -------------------------------------------------------
$valid_ref1="http://www.alfonsobotello.com./contacto.html";// dominio
$valid_ref2="http://www.alfonsobotello.com./contacto.html";// dominio
$replyemail="[email protected]";//email
// ------------------------------------------------------------

//clean input in case of header injection attempts!
function clean_input_4email($value$check_all_patterns true)
{
 
$patterns[0] = '/content-type:/';
 
$patterns[1] = '/to:/';
 
$patterns[2] = '/cc:/';
 
$patterns[3] = '/bcc:/';
 if (
$check_all_patterns)
 {
  
$patterns[4] = '/\r/';
  
$patterns[5] = '/\n/';
  
$patterns[6] = '/%0a/';
  
$patterns[7] = '/%0d/';
 }
 
//NOTE: can use str_ireplace as this is case insensitive but only available on PHP version 5.0.
 
return preg_replace($patterns""strtolower($value));
}


$name clean_input_4email($_POST["name"]);
$email clean_input_4email($_POST["email"]);
$tlf clean_input_4email($_POST["tlf"]);

$thesubject clean_input_4email($_POST["thesubject"]);
$themessage clean_input_4email($_POST["themessage"], false);

$error_msg='ERROR - no enviado. Intente nuevamente.';

$success_sent_msg='<p align="center"><strong>&nbsp;</strong></p>
                   <p align="center"><strong>Su mensaje ha sido enviado<br>
                   </strong> y contestaremos a la brevedad posible.</p>
                   <p align="center">Ademas le hemos enviado una copia de su pedido.</p>
                   <p align="center">Gracias por contactar.</p>'
;

$replymessage "Hola $name

Gracias por su mensaje.

Contactaremos con usted a la brevedad posible, muchas gracias

Por favor no responda a este correo.

Su Email: $email
--------------------------------------------------
Asunto: $thesubject

Mensaje:$themessage




--------------------------------------------------

Gracias"
;

// email variable not set - load $valid_ref1 page
if (!isset($_POST['email']))
{
 echo 
"<script language=\"JavaScript\"><!--\n ";
 echo 
"top.location.href = \"$valid_ref1\"; \n// --></script>";
 exit;
}

$ref_page=$_SERVER["HTTP_REFERER"];
$valid_referrer=0;
if(
$ref_page==$valid_ref1$valid_referrer=1;
elseif(
$ref_page==$valid_ref2$valid_referrer=1;
if(!
$valid_referrer)
{
 echo 
"<script language=\"JavaScript\"><!--\n alert(\"$error_msg\");\n";
 echo 
"top.location.href = \"$valid_ref1\"; \n// --></script>";
 exit;
}
$themessage "Nombre: $name \nMensaje: $themessage 
asunto: $asunto
tlf: $tlf"


mail("$replyemail",
     
"$thesubject",
     
"$themessage",
     
"From: $email\nReply-To: $email");
mail("$email",
     
"$thesubject",
     
"$replymessage",
     
"From: $replyemail\nReply-To: $replyemail");
     
echo 
$success_sent_msg;
?>
el caso que ha mi me funciona bien el formulario, lo que pasa es que cuando lo manda, me manda a una pagina php, en blanco con un texto que dice Gracias por su mensaje.

Contactaremos con usted a la brevedad posible, muchas gracias

Por favor no responda a este correo.
y lo que me gustaria es que me redicciones a la misma pagina web de la cual he mandado el formulario.

gracias
  #2 (permalink)  
Antiguo 02/05/2010, 12:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: quien me solucina este problema

¿Dónde estás colocando ese código?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/05/2010, 12:36
Avatar de orllo55  
Fecha de Ingreso: junio-2006
Mensajes: 44
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: quien me solucina este problema

Pues en todos los sitios por que no se dnd ponerlo su lo ponco alprincio sale la pagina que quiero que salga, pero no me lo envia, y si lo pongo en otras parte me da error, que puedo hacer gracias tio
por ayudar
  #4 (permalink)  
Antiguo 02/05/2010, 12:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: quien me solucina este problema

Debes crear el código que no envie datos al navegador. Solo hacer el proceso de PHP y luego al final colocar el header. En la página que redirecciones debes entonces colocar en algún lado que se envió exitosamente o algo por el estilo. Puedes enviar los datos con el método de GET y luego recoger los valores.
Código PHP:
Ver original
  1. <?php
  2. header('Location: foo.php?bar=candy');
En la página que redirecciones, tomas los valores
Código PHP:
Ver original
  1. <?php
  2. echo $_GET['bar'];
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 02/05/2010, 12:42
Avatar de orllo55  
Fecha de Ingreso: junio-2006
Mensajes: 44
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: quien me solucina este problema

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Dónde estás colocando ese código?
Cita:
Iniciado por abimaelrc Ver Mensaje
Debes crear el código que no envie datos al navegador. Solo hacer el proceso de PHP y luego al final colocar el header. En la página que redirecciones debes entonces colocar en algún lado que se envió exitosamente o algo por el estilo. Puedes enviar los datos con el método de GET y luego recoger los valores.
Código PHP:
Ver original
  1. <?php
  2. header('Location: foo.php?bar=candy');
En la página que redirecciones, tomas los valores
Código PHP:
Ver original
  1. <?php
  2. echo $_GET['bar'];

Muchas gracias tio, lo voy a probar, pero no tengo ni idea a ver que sale jajaja gracias y un saludoss
  #6 (permalink)  
Antiguo 02/05/2010, 13:22
 
Fecha de Ingreso: abril-2010
Mensajes: 83
Antigüedad: 14 años
Puntos: 1
Respuesta: Como redicionar a una web

eso se puede hacer con un header... y al final con una varible exit;
  #7 (permalink)  
Antiguo 02/05/2010, 13:25
Avatar de dargor  
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Como redicionar a una web

formas de como redireccionar una web, espero te sirva.
http://mundo-php.blogspot.com/2010/0...reccionar.html
  #8 (permalink)  
Antiguo 02/05/2010, 14:03
Avatar de orllo55  
Fecha de Ingreso: junio-2006
Mensajes: 44
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Como redicionar a una web

Cita:
Iniciado por seba_100 Ver Mensaje
eso se puede hacer con un header... y al final con una varible exit;
Si, si yo pongo el header, lo que pasa esque debe a ver algun conflito, que no me manda el email y no se como hacer para que se redirecciones y a la misma vez me mande el email
  #9 (permalink)  
Antiguo 02/05/2010, 15:16
Avatar de dargor  
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Como redicionar a una web

podrias poner la redireccion si se manda correctamente el mail.

if (@mail("$replyemail", "$thesubject", "$themessage", "From: $email\nReply-To: $email")){
//Su correo ha sido correctamente enviado
echo "<script language=\"JavaScript\"><!--\n ";
echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
}

Etiquetas: Ninguno
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 08:00.