Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2014, 05:48
marcvilap
 
Fecha de Ingreso: mayo-2008
Ubicación: Barcelona
Mensajes: 249
Antigüedad: 15 años, 11 meses
Puntos: 1
Duda con Signin y sesiones en PHP

Hola Compañeros,

Estoy realizando un proyecto donde tengo que implementar un sistema de Sign In, para que los usuarios registrados puedan consultar una serie de datos de su perfil.

Para hacer esto, pido el usuario y contraseña a través de un formulario y si coincide con un usuario de la BBDD guardo la información extraída de la base de datos en variables de sesión.

session_start();

....ANTERIORMENTE HAGO LA BÚSQUEDA EN LA BBDD

$_SESSION["nombre"] = $nombre_extraido de la bbdd;
$_SESSION["telefono"] = $nombre_extraido de la bbdd;
.....

Una vez realicé esto todo funcionaba correctamente, pero cuando cerraba el navegador toda la info se perdía. Para este proyecto necesito que la sesión no se cerrara cuando el usuario cerrara el navegador (sería como facebook con el "seguir conectado"). Leí acerca del tema y entendí que la sesión expiraba una vez se cerraba el navegador.

Por este motivo añadí una linea después del session_star() que hace que la sesión no expire hasta que no pasen x segundos (puse mucho para hacer el test y no se me cerrara por el tiempo):

setcookie('PHPSESSID', $_COOKIE['PHPSESSID'], time()+735840000);

y otra en el documento de cerrar sesión para eliminar la cookie.

setcookie("PHPSESSID","",time());

Una vez realizado esto creía que todo funcionaba correctamente ya que probé de cerrar el navegador y la sesión seguía abierta y toda la info disponible.

Sin embargo al probarlo al cabo de unas horas me dí cuenta que el sign In se había desconectado.

Mirando con el firebug las cookies el PHPSESSID si que seguía vigente pero las variables de sesión ya no estaban.

No se si cometo algún error de concepto o veis algo que podría estar funcionando mal pero os agradecería que me dierais vuestra opinión

Un saludo,