Tester la fermeture d'une page
Résolu/Fermé
Lobor
Messages postés
12
Date d'inscription
vendredi 4 mars 2011
Statut
Membre
Dernière intervention
16 mars 2011
-
Modifié par Lobor le 4/03/2011 à 10:55
Lobor Messages postés 12 Date d'inscription vendredi 4 mars 2011 Statut Membre Dernière intervention 16 mars 2011 - 12 mars 2011 à 12:31
Lobor Messages postés 12 Date d'inscription vendredi 4 mars 2011 Statut Membre Dernière intervention 16 mars 2011 - 12 mars 2011 à 12:31
A voir également:
- Tester la fermeture d'une page
- Supprimer une page word - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Comment traduire une page - Guide
- Forcer la fermeture d'un programme - Guide
5 réponses
Utilisateur anonyme
4 mars 2011 à 11:34
4 mars 2011 à 11:34
Bonjour,
Vous devriez pouvoir utiliser l'événement JS onUnload sur le BODY, qui se déclenche quant on ferme la page.
L'événement lance un script Ajax qui lance votre script de déconnexion et qui ne renvoie rien.
Enfin c'est une piste.
Vous devriez pouvoir utiliser l'événement JS onUnload sur le BODY, qui se déclenche quant on ferme la page.
L'événement lance un script Ajax qui lance votre script de déconnexion et qui ne renvoie rien.
Enfin c'est une piste.
Lobor
Messages postés
12
Date d'inscription
vendredi 4 mars 2011
Statut
Membre
Dernière intervention
16 mars 2011
4 mars 2011 à 11:56
4 mars 2011 à 11:56
Oui je connais cette méthode, mais le problème est que si la personne change de page, le script est appeler.
J'ai trouvé cela qui gère assez bien ce problême.
https://forums.commentcamarche.net/forum/affich-12240343-javascript-savoir-quand-l-onglet-est-ferme
Le problème mnt c'est de connaître si la personne actualise ou non la page.
J'ai trouver la fonction blind ou bind, mais je en comprends pas très bien a quoi elle sert (ça na peut-être rien à voir).
Donc je résume, il faut trouver un moyen de savoir si la personne actualise ou non la page.
Par exemple est-il possible de récupere l'url, de tester si dans cette url il y a www.nomdedomaine.com, s'il y est, c'est qu'on reste sur le site, sinon c'est qu'on a quitter le site et cela lance un script de deconnexion
Je pense qu'on peut faire tout ce que l'on veut, faut juste trouver la faille.
J'ai trouvé cela qui gère assez bien ce problême.
https://forums.commentcamarche.net/forum/affich-12240343-javascript-savoir-quand-l-onglet-est-ferme
Le problème mnt c'est de connaître si la personne actualise ou non la page.
J'ai trouver la fonction blind ou bind, mais je en comprends pas très bien a quoi elle sert (ça na peut-être rien à voir).
Donc je résume, il faut trouver un moyen de savoir si la personne actualise ou non la page.
Par exemple est-il possible de récupere l'url, de tester si dans cette url il y a www.nomdedomaine.com, s'il y est, c'est qu'on reste sur le site, sinon c'est qu'on a quitter le site et cela lance un script de deconnexion
Je pense qu'on peut faire tout ce que l'on veut, faut juste trouver la faille.
Lobor
Messages postés
12
Date d'inscription
vendredi 4 mars 2011
Statut
Membre
Dernière intervention
16 mars 2011
4 mars 2011 à 15:22
4 mars 2011 à 15:22
Sinon j'ai vu qu'il y avait une solution en php et un fichier cache
Lobor
Messages postés
12
Date d'inscription
vendredi 4 mars 2011
Statut
Membre
Dernière intervention
16 mars 2011
12 mars 2011 à 12:13
12 mars 2011 à 12:13
J'ai trouver la solution en actualisant un timestamp dans la bdd et je vérifie si celui-ci n'as pas expirer, si oui, alors on deconnecte la personne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Lobor
Messages postés
12
Date d'inscription
vendredi 4 mars 2011
Statut
Membre
Dernière intervention
16 mars 2011
12 mars 2011 à 12:31
12 mars 2011 à 12:31
Je vous met les codes au cas ou une personne cherche a savoir comment faire
function envoi_actualisation($Id) { connexion_bdd(); $req="update identification SET actualisation=".time()." where Id='".$_SESSION['utilisateur']['Id']."'"; $resultat=mysql_query($req); //print (mysql_error() . " <br />- " . $req); } function test_eject($Id) { if ($Id!=NULL) { connexion_bdd(); $req="select ejecter from identification where Id='".$Id."'"; $resultat=mysql_query($req); //print (mysql_error() . " <br />- " . $req); $ejecter=mysql_fetch_array($resultat); //echo $ejecter['ejecter']; if($ejecter['ejecter']==1) { session_destroy(); $_SESSION['utilisateur']['mail']= null; header("Location:index.php"); } } } function test_actu() { connexion_bdd(); $req="select jeux, message, pseudo, connexion, Id, actualisation from identification"; $resultat=mysql_query($req); //print (mysql_error() . " <br />- " . $req); while($connexion=mysql_fetch_array($resultat)) { $min = time(); $min = $min - 300; if($connexion['jeux']==0 && $connexion['message']==0 && $connexion['connexion']==1 && $connexion['actualisation'] < $min) { $req = "UPDATE identification SET connexion = 0, ejecter=1 where Id='".$connexion['Id']."'"; $ejecter = mysql_query($req); //print (mysql_error() . " <br />- " . $req); } if(($connexion['jeux']==1 || $connexion['message']==1) && $connexion['connexion']==1) { $req = "UPDATE identification SET jeux=0, message=0 where Id='".$connexion['Id']."'"; $ejecter = mysql_query($req); //print (mysql_error() . " <br />- " . $req); } } }