2016-01-31 1 views
1

J'ai un problème avec la session en php car j'assigne une condition d'inactivité variable à la session de clôture?Comme déconnexion d'inactivité php

Je possède ce code:

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

    //comparamos el tiempo transcurrido 
    if($tiempo_transcurrido >= 10) { 
     //si pasaron 10 segundos 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 
     } 

Le problème ici est que vous n'êtes pas connecté au moment donné, dans ce cas, il est de 10 secondes.

Comment puis-je faire fonctionner la condition après une inactivité de 10 secondes?

+1

Voir: http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes – Progrock

Répondre

0

Vous pouvez ajouter un horodatage de la dernière session d'activité et le comparer à l'heure actuelle. Vous devez juste sur une vérification de session valide mettre à jour l'horodatage, cela doit également être ajouté lors de la connexion.

$fechaGuardada = strtotime($_SESSION["ultimoacceso"]); 
$now = time(); 

if(($now - $fechaGuardada) >= 10) { 
    // Loggout 
} 
else { 
    // Logged in 
    $_SESSION['ultimoacceso'] = $now; 
} 
+0

bonjour, mais je ne fonctionne pas, la condition est toujours rempli – Camaliet

+0

Où définissez-vous ultimoacceso timestamp? – Sephedo

+0

Si elle est antérieure à cette vérification, elle passera toujours – Sephedo