Ver Mensaje Individual
  #16 (permalink)  
Antiguo 22/08/2012, 11:41
Mosazu
 
Fecha de Ingreso: abril-2010
Mensajes: 31
Antigüedad: 14 años
Puntos: 1
Respuesta: Una página no me mantiene la session

El login lo hago por ajax, esta es la página que los autentica

Código PHP:
if (isset($_POST['Email'])) 
   
$nick $_POST['Email'];
if (isset(
$_POST['Clave']))
   
$pass $_POST['Clave'];

/*Busco los datos del usuario en db*/
$usuarios =  $mysql_fetch_obj($resultado);
if(
count($usuarios) > 0)  
{
$data_usuarios $usuarios[0];
$_SESSION['IdUsuario']       = $data_usuarios ->IdUsuario;
$_SESSION['Nombre']          = $data_usuarios ->Nombre;
$_SESSION['Apellido']        = $data_usuarios ->Apellido;
$_SESSION['Tipo']            = $data_usuarios ->Tipo;
$_SESSION['Pais']            = $data_usuarios ->Pais;
$_SESSION['MM_Habilitado'] = 1;
        
$conectado true;
}else{
        
$conectado false;
}    

echo 
json_encode(array("conectado"=>$conectado)); 
__________________________

Ahora ya vi lo que está pasando, y al menos ya logro entender por qué solo sucede la primera vez.

Lo que está pasando es así:
  1. Voy a ejemplo.com/index.php tengo session_id() 123
  2. hago login, el formulario regresa true, todos los dados quedan en $_SESSION y me da acceso al menú. Hasta aquí perfecto.
  3. Voy a lista_autos.php aún tengo session_id() 123 así que todos los datos siguen en $_SESSION, hasta aquí perfecto.
  4. Doy click a uno de los autos y eso me lleva a ver_auto.php, por alguna razón esta página me crea una sesion nueva con el id 456, y por eso no encuentra los datos en sesion, entonces me saca y me redirige a index.php, el cual tiene ahora session_id 456 y por eso aparezco deslogueado.
  5. Me logueo nuevamente, los datos vuelven a quedar guardados pero ahora con el id 456
  6. Repiro el proceso y ahora cuando llego a ver_auto.php se mantiene el id 456 porque fue el que esta misma página generó y entonces todos mis datos están ahí. Por eso la segunda vez funciona perfecto.

Ahora necesito averiguar por qué ver_autos.php me está creando una sesión nueva con id 456 en lugar de mantener la anterior con id 123.