Ver Mensaje Individual
  #9 (permalink)  
Antiguo 03/03/2006, 05:44
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Nazka
Código PHP:
<?php
//iniciamos la sesión
session_name("loginUsuario");
session_start();

//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if ($_SESSION["autentificado"] != "SI") {
    
//si no está logueado lo envío a la página de autentificación
    
header("Location: index.php");
} else {
    
//sino, calculamos el tiempo transcurrido
    
$fechaGuardada $_SESSION["ultimoAcceso"];
    
$ahora date("Y-n-j H:i:s");
    
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

    
//comparamos el tiempo transcurrido
     
if($tiempo_transcurrido >= 600) {
     
//si pasaron 10 minutos o más
      
session_destroy(); // destruyo la sesión
      
header("Location: index.php"); //envío al usuario a la pag. de autenticación
      //sino, actualizo la fecha de la sesión
    
}else {
    
$_SESSION["ultimoAcceso"] = $ahora;
   }
}
?>
Espero se sea claro esto lo pudes llamar a travez de un include

ejemplo
Código PHP:
<?php include ("tiempo.php");?
Consulta/comentario:

Para que gestionas la fecha en ese formato si al final haces una conversión de tu formato de fecha a un "unix timestamp" para operar con el (hacer una diferencia en segundos).

Simplemente tomando tu fecha/hora actual como un time() (Time Stamp, que son segundos transcurridos desde blablabla ... (era "unix")) te evita el proceso de conversión que haces con:

$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

Sería simplemente:

$ahora = time();
$tiempo_transcurrido = $ahora-$fechaGuardada;

Un saludo,