Foros del Web » Programando para Internet » PHP »

Sesiones -- help !!!

Estas en el tema de Sesiones -- help !!! en el foro de PHP en Foros del Web. Porque no funciona mi codigo ?? Quiero establecer un tiempo de vida a mi sesion y no logro que ande. No se hace asi acaso ...
  #1 (permalink)  
Antiguo 14/10/2010, 10:29
 
Fecha de Ingreso: febrero-2010
Mensajes: 132
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Sesiones -- help !!!

Porque no funciona mi codigo ??
Quiero establecer un tiempo de vida a mi sesion y no logro que ande.
No se hace asi acaso ??

sesionesA.php:

<?
ini_set("session.gc_maxlifetime",15);
ini_set("session.cookie_lifetime", 15);

session_start();

echo $_SESSION["nombre"]." ".$_SESSION["apellido"]."<br>";

?>

<a href="sesionesB.php">SESIONES B</a>


sesionesB.php:

<?
ini_set("session.gc_maxlifetime",15);
ini_set("session.cookie_lifetime", 15);

session_start();

echo $_SESSION["nombre"]." ".$_SESSION["apellido"]."<br>";

?>

<a href="sesionesC.php">SESIONES C</a>


sesionesC.php:

<?
ini_set("session.gc_maxlifetime",15);
ini_set("session.cookie_lifetime", 15);

session_start();

echo $_SESSION["nombre"]." ".$_SESSION["apellido"]."<br>";

?>

<a href="sesionesB.php">SESIONES B</a>


Pasan los 15 segundos y no se cierra !!!
Que estoy haciendo mal ??
desde ya gracias...
  #2 (permalink)  
Antiguo 14/10/2010, 10:54
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Sesiones -- help !!!

Puede que tengas bloqueado el cambio de propiedades del php.ini. ¿Es un servidor privado? ¿Es gratuito? Vale, y ahora segundas partes... Como solución, te recomiendo almacenar la sessión, o un id parejo a el, en la db, y cuando pasen los 15 segundos, si el user sigue en página, destruyes las sessiones. Es una solución alternativa al tiempo, no crees?
__________________
Neversyn Software e Ingeniería
  #3 (permalink)  
Antiguo 14/10/2010, 10:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 18 años, 10 meses
Puntos: 11
Respuesta: Sesiones -- help !!!

El problema para mi esta en el garbage collector de PHP (que es el que borra entre otras cosas los archivos de la sesion).
El colector pasa con cierta "probabilidad", que podemos definir, pero igual no es algo preciso.

Asique para solucionar una session que debe expirar si o si podrías guardar en la session un valor de inicio y otro de máx duracion (podrias usar el gc_maxlifetime, despues los comparas con el time() actual para chequear si la session es valida o no.

algo asi:

Código PHP:
<?php

session_start
();

if (!isset(
$_SESSION['inicio']))
    
$_SESSION['inicio'] = time();
elseif (
time() - $_SESSION['inicio'] > ini_get('session.gc_maxlifetime'))
// chequeamos que la session no sea muy vieja
   
        //limpiar sesion, o generar una nueva, etc.

}
?>
Justamente acabo de preguntar algo relacionado con esto:
http://www.forosdelweb.com/f18/sesio...efalea-849499/
No será mejor siempre guardar los datos en una base de datos en lugar de depender de como maneje los ficheros PHP y su gc?
  #4 (permalink)  
Antiguo 14/10/2010, 11:10
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Sesiones -- help !!!

Misma idea, distinto sistema
__________________
Neversyn Software e Ingeniería

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 04:02.