En este tutorial veremos como definir el
tiempo de vida
de las
sesiones
en
PHP
, este ejemplo puede resultar útil para definir cuando caduca por defecto la sesión de un usuario en un sistema de login/identificación.
Empezamos el código con session _start();
En este paso se crea una variable que defina el tiempo que el usuario este inactivo para que lo saque el sistema, 900 esta expresado en segundos que se traduce a 15min de duracion.
1
$inactivo = 900;
Buscamos la existencia de la variable de session en una condicion, luego en la variable $vida_ session almacenamos el resultado de la resta entre la $_SESSION['tiempo'] y el tiempo actual (time).
Comparamos este resultado ($vida_ session ) con el tiempo de inactividad que definimos mas arriba, si el resultado es mayor que la variable $inactivo entonces la sesión se destruye y redirecciona a la (hipotética) pagina de login.
Caso contrario se actualiza la sesion almacenando el tiempo actual en la variable $_SESSION['tiempo']
Codigo final
WebTursos
Empezamos el código con session _start();
dijo:
<? php
session _start();
En este paso se crea una variable que defina el tiempo que el usuario este inactivo para que lo saque el sistema, 900 esta expresado en segundos que se traduce a 15min de duracion.
1
$inactivo = 900;
Buscamos la existencia de la variable de session en una condicion, luego en la variable $vida_ session almacenamos el resultado de la resta entre la $_SESSION['tiempo'] y el tiempo actual (time).
Comparamos este resultado ($vida_ session ) con el tiempo de inactividad que definimos mas arriba, si el resultado es mayor que la variable $inactivo entonces la sesión se destruye y redirecciona a la (hipotética) pagina de login.
dijo:
if(isset($_SESSION['tiempo']) ) {
$vida_ session = time() - $_SESSION['tiempo'];
if($vida_ session > $inactivo)
{
session _destroy();
header("Location: login. php " ) ;
}
}
Caso contrario se actualiza la sesion almacenando el tiempo actual en la variable $_SESSION['tiempo']
dijo:$_SESSION['tiempo'] = time();
?>
Codigo final
dijo:
<? php
session _start();
$inactivo = 900;
if(isset($_SESSION['tiempo']) ) {
$vida_ session = time() - $_SESSION['tiempo'];
if($vida_ session > $inactivo)
{
session _destroy();
header("Location: login. php " ) ;
}
}
$_SESSION['tiempo'] = time() ;
?>
WebTursos