Foros del Web » Programando para Internet » PHP »

Pasar variable por header (location: xxxx)

Estas en el tema de Pasar variable por header (location: xxxx) en el foro de PHP en Foros del Web. Buen dia y muchas gracias de antemano, Lo que pasa es que estoy tomando una variable por metodo $_GET de esta forma: Código PHP: $id  ...
  #1 (permalink)  
Antiguo 02/04/2009, 14:02
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 14 años, 6 meses
Puntos: 394
Pasar variable por header (location: xxxx)

Buen dia y muchas gracias de antemano,

Lo que pasa es que estoy tomando una variable por metodo $_GET de esta forma:

Código PHP:

$id 
$HTTP_GET_VARS["id_reg"]; 
Despues de eso intento crear una redireccion pasando la misma variable con el mismo valor asi:

Código PHP:

$id 
$HTTP_GET_VARS["id_reg"];
1 formaheader ("location: pagina.php?id_reg=$id");
2 formaheader ("location: pagina?id_reg=".urlencode($id)); 
Pero ningunba de las dos me funciona...

en la url me a parece esto nada mas sin el valor de la variable:

pagina.php?id_reg=

Alguien sabe que estoy haciendo mal ????

Muchas gracias por la ayuda...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #2 (permalink)  
Antiguo 02/04/2009, 14:07
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.654
Antigüedad: 14 años, 5 meses
Puntos: 88
Respuesta: Pasar variable por header (location: xxxx)

serciorate que $id tenga valor, tambien prueba usando $_GET["id_reg"] en vez de $HTTP_GET_VARS["id_reg"];

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 02/04/2009, 14:46
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 14 años, 6 meses
Puntos: 394
Respuesta: Pasar variable por header (location: xxxx)

En la URL de la pagina que quiero tomarala me aparece:

pagina.php?id_reg=24&

Tambien intente con $_GET y realizo ECHO y si me lo imprime.... el problema es con

Código PHP:
header ("location: pagina.php?id_reg=$id"); 
ya que cuando hace la redireccion en el URL me aparece

pagina.php?id_reg=

sin nada mas...

Muchas gracias por tu ayuda...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 02/04/2009, 14:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: Pasar variable por header (location: xxxx)

Es raro. Con urlencode() debería funcionar:
Código php:
Ver original
  1. $id = urlencode($_GET['id_reg']);
  2. header("Location: pagina.php?id_reg=$id");
Pero como dijiste que ya lo probaste no se me ocurre qué otra cosa puede ser.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 02/04/2009, 14:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Pasar variable por header (location: xxxx)

Quita el header() e imprime con un echo la dirección es probable que $id no tenga nada:
var_dump("location: pagina.php?id_reg=$id");

Saludos.
  #6 (permalink)  
Antiguo 02/04/2009, 15:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 11 años, 3 meses
Puntos: 31
Respuesta: Pasar variable por header (location: xxxx)

También aquí tienes otro código para pruebes...

Código PHP:
<?php
$self 
$_SERVER['PHP_SELF'];
if(isset(
$_GET['tes'])){
$id $_GET["tes"]; 
//header ("location: pagina.php?id_reg=$id");
header("refresh:2; url=$self?id_reg=$id");
}
if(isset(
$_GET['id_reg'])){
echo 
'Resultado: <b>'.$_GET["id_reg"].'</b><br />';
}
?>
<a href="<?php echo $self;?>?tes=Texto de prueba">Click Aqui</a>
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #7 (permalink)  
Antiguo 02/04/2009, 15:29
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 12 años, 1 mes
Puntos: 18
Respuesta: Pasar variable por header (location: xxxx)

primero $_GET no es un método sino una variable superglobal.

luego verifica si realmente existe la variable $_GET['id_reg'] con isset y en caso que exista, entonces le concatenas a la url a la que quieres redireccionar con header.

después de utilizar el header, acostúmbrate a utilizar exit para asegurar que no se ejecuten más códigos.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
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 21:24.