[PHP] Envoyer une requête lorsque le navigateur se ferme

Envoyer une requête lorsque le navigateur se ferme [PHP] - PHP - Programmation

Marsh Posté le 08-05-2002 à 16:38:09    

Hoy !
 
Voilà, je suis en train de faire un forum et dans ma table "membres" j'ai un champ pour chaque personne qui indique si il est online sur le forum ou pas. Le truc que que si la personne clique sur "déconnection" avant de quitter le forum je peux remettre le champ à 0 mais si il ferme le navigateur, est-il possible d'executer une commande qui remet le champ à 0 ?
 
Merci
 
a++
 
Darx

Reply

Marsh Posté le 08-05-2002 à 16:38:09   

Reply

Marsh Posté le 08-05-2002 à 16:58:21    

Dans ta page, dans le body tu mets onUnload="window.location=out.php"
ensuite dans la page out.php tu exécutes ta requête. Bien entendu si JavaScript n'est pas activé sur le navigateur du visiteur cela ne fonctionnera pas. Pense également à mettre un window.close() à la fin de la page out.php pour que tout soit transparent pour l'utilisateur et que la page sortie se ferme seule.

 

[jfdsdjhfuetppo]--Message édité par Dost67 le 08-05-2002 à 16:58:37--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 09-05-2002 à 10:56:07    

Ok mais si la personne fait "Actualiser" la page, ça execute le script non ?

Reply

Marsh Posté le 09-05-2002 à 12:00:43    

Je sais pas j'ai jamais essayé... mais certainement. Mais de toute façon il va falloir trouver une autre solution pour système d'affichage de "Qui est online" parce que détecter quand l'utilisateur ferme sa page c'est pas évident, surtout qu'il peut en ouvrir une nouvelle et fermer la première et en fait il est tjrs présent.

Reply

Marsh Posté le 09-05-2002 à 12:02:13    

Faudrait que Joce nous dise comment il fait sur HFR. Ou sinon dans les autres forums (phpBB, etc.) y'a pas un système identique à partir duquel on peut s'inspirer.

Reply

Marsh Posté le 09-05-2002 à 12:26:15    

en général ils ont une table session ou online dans laquelle il stockent un identifiant (session_id() ou login/pwd) et l'heure du dernier accès.
Ensuite à chaque demande de page, ils delete de cette table les entrées dont le temps est > que heure + x secondes.
ça permet d'avoir une approximation +- juste du nombre de personnes onlines.

 

[jfdsdjhfuetppo]--Message édité par ethernal le 09-05-2002 à 12:26:51--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 09-05-2002 à 15:53:12    

Et en général c pas en temps réel c marqué "Visiteur en ligne depuis ces 10 premières minutes"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed