Annuler la Session Lors de l'onglet du navigateur est fermé

Où l'utilisateur accède au site web, il a envoyé un défaut de la langue, en même temps, cela va forcer l'utilisateur de sélectionner une langue parmi une liste...
Lorsque l'utilisateur sélectionne une langue, il définit un $_SESSION['langue'] = $_POST['lg'];
Dans le même temps, j'ai mis un autre $_SESSION['sestime'] = time();
avec cette session, je peux le faire:

if(isset($_SESSION['sestime']) && (time() - $_SESSION['sestime'] > 600)) {
session_unset(); session_destroy();
header("Location: $sred");
exit;
}
$_SESSION['sestime'] = time();

S'il n'y a aucune activité au sein de 10min, il détruire/supprimer/annuler une session, l'idée est de poser à nouveau pour la lanaguage... maintenant, c'est "travail", mais ce que j'aimerais c'est loin de "détecter" lorsque l'utilisateur est sur le point de fermer un onglet du navigateur, les sites web de l'onglet... si les utilisateurs de fermer l'onglet, puis "détruire/supprimer/annuler" une session pour ce site...

Est-ce possible?

Vous pourriez avoir un périodique requête AJAX avec un faible délai d'attente, mais alors vous aurez à faire de votre site inutilisable pour les personnes qui désactivez Javascript ou qui ont un handicap et l'utilisation de technologies alternatives pour naviguer sur le web. Il n'y a rien dans le protocole HTTP qui vous permet de savoir quand un utilisateur arrête l'affichage de votre site, de sorte que votre meilleur pari est un sane délai d'attente.

OriginalL'auteur Tanker | 2015-10-08