Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/08/2010, 08:52
rolandpish
 
Fecha de Ingreso: julio-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Cómo guardar una sesión temporalmente

Muchas gracias por tu respuesta Nemutagk.

Pues, antes de modificar código, me puse a hacer un par de pruebas e instalé todo el proyecto en 2 servidores diferentes al que está en "vivo" y la pulga no sucede, entonces más me suena a un problema del servidor.

Pues, el código de la herramienta de foros es muy extenso y tiene múltiples llamadas e includes entre sí, por eso veo difícil postear el código acá (es el IP.Board de InvisionPower), pero el código que está del lado de la aplicación que muestra que la sesión se está perdiendo es el siguiente:

Código PHP:
session_start();

file_put_contents('prueba.log','['.date('Y-m-d H:i:s').'] Contenido de la sesion antes del header: '.print_r($_SESSION,true)."\n",FILE_APPEND);

header('Location: forum/index.php?username=elusuario&pass=laclave');

file_put_contents('prueba.log','['.date('Y-m-d H:i:s').'] Contenido de la sesion despues del header: '.print_r($_SESSION,true)."\n",FILE_APPEND); 
En el primer file_put_contents, la variable de sesión viene con los datos de autenticación, pero después del header, el segundo file_put_contents arroja la sesión vacía.
Pero nota importante: esto sólo sucede en el primer intento de login, en el segundo intento ya no hay ningún problema, por eso creo que la herramienta de foros, la primera vez algo detecta y destruye la sesión.

Creo que si no se arreglara el problema del servidor, seguramente tendré que buscarle un arreglo a esto y por eso se me había ocurrido guardar la sesión antes de la llamada al header, pero cómo sería mejor hacer ese almacenamiento temporal de la sesión?

Muchas gracias!