[RESOLU] Detruire une session a la fermeture du navigateur ou un temps long.

Eléphant du PHP | 115 Messages

01 déc. 2017, 13:06

Bonjour tous le monde,

Je cherche le moyen de détruire une session quand on quitte un navigateur où que l'on utilise plus le site (plus d'une 1h ) et que la page web est ouverte.

j'ai fait un script de déconnexion (classique) et cela fonctionne bien quand on clique sur quitter.

Mais quand on ferme le navigateur comment faire ? un script qui dialogue toutes les seconds pour vérifié si le site est utilisé.

Merci de vos aides,

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 déc. 2017, 13:50

Si tu mets session.cookie_lifetime à 0, le cookie de session sera supprimé à la fermeture du navigateur.

Ou sinon tu peux le faire manuellement comme ceci :
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 3600)) {
    // last request was more than 60 minutes ago (3600 seconds)
    session_unset();     // unset $_SESSION variable for the run-time 
    session_destroy();   // destroy session data in storage
}
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp
Quand tout le reste a échoué, lisez le mode d'emploi...