Código PHP:
ini_set("session.cookie_lifetime",$tiempo_en_seg); # Tiempo de vida de las cookies
ini_set("session.gc_maxlifetime",$tiempo_en_seg); # Tiempo de vida de las sesiones
Puesto esto, en mi login hice un campo que pusiera el numero de minutos de duración de la sesion, que siemplmente seria el valor $tiempo_en_seg y me serviria para hacer una cookie y en el resto de paginas poner ese tiempo ampliado de sesion, pero parece ser que no me funciona al destruir la sesion (aunque con ini_get("session.gc_maxlifetime") los valores si cambian al mostrarlos).
No se si es que no se destruye bien la sesion al finalizar el tiempo de vida o que puede pasar. Este es el codigo:
Código PHP:
<?
# Duracion de la sesion (obtenida por cookie)
$clifetime=$_COOKIE['lifetime'];
if(isset($clifetime))
{ # Validacion
if(!is_numeric($clifetime) || $clifetime==NULL) $clifetime=60;
}
else
{ # Por defecto 60 minutos
$clifetime=30;
}
ini_set("session.cookie_lifetime",$clifetime*60); # Tiempo de vida de las cookies
ini_set("session.gc_maxlifetime",$clifetime*60); # Tiempo de vida de las sesiones
$login_name="apologin";// Usamos la sesion de nombre definido.
session_name($login_name);// Iniciamos el uso de sesiones
session_start();
// Chequeamos si estan creadas las variables de sesión de identificación del usuario,
// El caso mas comun es el de una vez "matado" la sesion se intenta volver hacia atras
// con el navegador.
if (!isset($_SESSION['cokkNick']) && !isset($_SESSION['cokkPass'])){
session_destroy();// Borramos la sesion creada por el inicio de session anterior
include("apoweb_login_form.php");
exit;
}
?>
Alguna idea de que hago mal?
Gracias