Tester la fermeture d'une page
Résolu
Lobor
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
Lobor Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Lobor Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Le but est de savoir si la personne quitte le site ou non, si oui, alors dans la BDD on met le champs connexion à 0.
Je souhaiterais faire une boucle en javascript, par exemple une boucle qui calcule la racine carrée de un, et lorsque le navigateur est fermé, si le script n'est pas terminer, lancer un script php en ajax, pour la deconnecter de la BDD.
C'est une idée de faire, il en existe plusieur. Si vous en avez d'autre je suis a votre écoute.
Je gère la session, mais comment faire pour lancer un script php ou autre (Donc mettre connexion à 0) quand la session a expiré ?
Ca fait deus semaine que je cherche sur Google (Google est ton ami) mais je en trouve pas.
Merci
Le but est de savoir si la personne quitte le site ou non, si oui, alors dans la BDD on met le champs connexion à 0.
Je souhaiterais faire une boucle en javascript, par exemple une boucle qui calcule la racine carrée de un, et lorsque le navigateur est fermé, si le script n'est pas terminer, lancer un script php en ajax, pour la deconnecter de la BDD.
C'est une idée de faire, il en existe plusieur. Si vous en avez d'autre je suis a votre écoute.
Je gère la session, mais comment faire pour lancer un script php ou autre (Donc mettre connexion à 0) quand la session a expiré ?
Ca fait deus semaine que je cherche sur Google (Google est ton ami) mais je en trouve pas.
Merci
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
- Imprimer tableau excel sur une page - Guide
- Forcer la fermeture d'un programme - Guide
5 réponses
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.
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.
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
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); } } }