Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Buenos días, Tengo un problema con el manejo de sesiones y la verdad no encuentro el error. Tengo dos páginas, donde en la primera seteo ...
  #1 (permalink)  
Antiguo 03/08/2010, 10:32
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Problema con sesiones

Buenos días,

Tengo un problema con el manejo de sesiones y la verdad no encuentro el error. Tengo dos páginas, donde en la primera seteo dos variables, un objeto y un entero de la siguiente forma :

Código:
require_once('some_library.php');
require_once('another_library.php');

session_start();

$to = new Objeto();
$_SESSION[0] = $to;
$_SESSION[1] = $client_id;
...
Luego, en la segunda página trato de obtenerlas nuevamente con un código similar a :

Código:
require_once('some_library.php');
require_once('another_library.php');

session_start();

if(isset($_SESSION[0])){
	$to = $_SESSION[0];
	print_r($to);
}else{
        @header( 'Location: http://www.google.com.pe' ) ;
}

if(isset($_SESSION[1])){
        $client_id = $_SESSION[1];
	print_r($client_id);
}else{
	@header( 'Location: http://www.peru.com' );
}

...
El problema es que siempre redirecciona a http://www.peru.com, como si la variable $_SESSION[1] no existiera. Probé pasando una variable mas, y redireccionando a otra página para ver donde se caía, y siempre se cae en el último redireccionamiento. Si no hago un redirect en alguna de las validaciones, se cae en el último redirect, un poco extraño, verdad? No puedo encontrar mi error.

Estoy utilizando la librería de twitter twitterOAuth, no creo que sea influyente en el problema de las sesiones, o si?

Saludos y gracias por las respuestas

n4rk0
  #2 (permalink)  
Antiguo 03/08/2010, 13:53
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: Problema con sesiones

var_dump($_SESSION);
__________________
I am Doyle please insert code.
  #3 (permalink)  
Antiguo 03/08/2010, 14:16
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con sesiones

El dump de la sesión me devuelve : array(0) { }. Lo extraño es que cuando el código se ejecuta, el redireccionamiento no ocurre cuando se valida la primera de la dos variables (o de las n variables que probé) sino que siempre es en la última donde se realiza la validación y luego un redireccionamiento.

Saludos y gracias por las respuestas.
  #4 (permalink)  
Antiguo 03/08/2010, 15:52
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Problema con sesiones

bueno eso es xq te encuentra las variables de session vacias y te entra en el ultimo else y una pregunta no te da error xq el session_start no esta de primero en la pagina ya que el debe estar al principio, otra cosa las variables que estas introduciendo dentro de las variables de session estan llenas?? bueno solo mire por encimita saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 03/08/2010, 16:15
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con sesiones

Claro, las variables de sesión las esta pasando vacías (no encuentro la razón). El session_start ha estado flotando antes de los require_once como en su ubicación actual, sin resultados. Por lo que se el session_start debe estar antes de pintar algo en browser para que funcione, si es así, las librerías llamadas no realizan ningún pintado en browser. Lo que tampoco entiendo es por qué entra al último else, no debería entrar al primero y hacer el redireccionamiento hacia el primer site colocado? Las variables que se introducen en las sesiones estan llenas, tanto el objeto :

Código:
object(TwitterOAuth)#2 (5)
 {
 ["http_status:private"]=>  int(200)
 ["last_api_call:private"]=>  string(251) "https://twitter.com/oauth/request_token?oauth_version=1.0&oauth_nonce=XXXX&oauth_timestamp=XXXXX&oauth_consumer_key=XXXXXX&oauth_signature_method=HMAC-SHA1&oauth_signature=XXXXXXX%3D" 
 ["sha1_method"]=>  object(OAuthSignatureMethod_HMAC_SHA1)#3 (0) { } 
 ["consumer"]=>  object(OAuthConsumer)#4 (3) { ["key"]=>  string(22) "XXXXXXXXXXXXXXX" ["secret"]=>  string(42) "XXXXXXXXXXXXXXXX" 
 ["callback_url"]=>  NULL } ["token"]=>  object(OAuthConsumer)#5 (3) { 
 ["key"]=>  string(43) "XXXXXXXXXXXXXXXXXXX"
 ["secret"]=>  string(43) "XXXXXXXX" ["callback_url"]=>  NULL } 
}
Como la variable de tipo String

Código:
string(1) "7"
Entre ambas páginas hay un POST donde envío un tercer parámetro (no creo que sea relevante) y en algún momento en ese pase, se estan perdiendo las variables. Como comentaba, estoy utilizando la librería Twitter OAuth para hacer mi conexión y extraer información del twitter.

Saludos y gracias por las respuestas

n4rk0
  #6 (permalink)  
Antiguo 03/08/2010, 19:17
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con sesiones

No entiendo la necesidad de llamar a tus variables de sesión 0,1, etc, al ser una variable del lado del servidor no tiene caso hacer esto, es mejor que le des un nombre real ($_SESSION['nombre_variable']) con lo cual te vas a ahorrar muchos dolores de cabeza en el futuro cuando modifiques el código no sabrás ni que contiene cada variable de la forma que lo estas haciendo
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 04/08/2010, 07:48
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con sesiones

Hola Nemutagk,

Tienes razón con lo de los nombres de las variables. Fue algunas de las mutaciones que sufrió el código mientras estaba buscando el error que producía este comportamiento. He regresado a los nombres de las variables como tu lo propones y al parecer todo esta funcionando OK. Cualquier cosa se los comento.
Saludos y gracias por su tiempo.

n4rk0

Etiquetas: sesiones
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 12:07.