[PHP] Execution script php lors de la fermeture d'une page ?

Petit nouveau ! | 1 Messages

21 oct. 2006, 00:50

Bonjour, je voudrais savoir comment faire pour executer un script php lorsque l'user ferme son navigateur ?? Merci d'avance.

Eléphant du PHP | 451 Messages

23 oct. 2006, 09:21

Salut,
Je ne suis pas spécialiste mais comme personne n'a répondu...

A ta place, je chercherais du côté de Ajax :
tu détectes la fermeture de la page avec javascript (je crois que c'est onclose), à partir de là, onclose appelle une fonction javascript qui réalise un appel de PHP via ajax.
C'est l'idée que je creuserais si j'étais à ta place...

Bonne chance
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Mammouth du PHP | 19672 Messages

23 oct. 2006, 09:51

onblur et non onclose, mais effectivement ce serait l'idée, mais je ne suis pas certain qu'un objet XHR soit indispensable;

Avec onblur="window.open()", tu peux faire ouvrir une page contenant en fin de code un window.close() : le code sera exécuté et la page ouverte refermée à la fin.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 oct. 2006, 10:45

Ce serait plutôt onUnload ou onBeforeUnload... le onBlur s'activerait dès que la fenêtre perd le focus :)

L'inconvénient c'est que lorsque l'utilisateur change de page, l'événement est appelé... difficile de savoir du coup s'il surf ou ferme le navigateur...

J'avais trouvé une solution pour détecter la fermeture consistant a utiliser une frame avec le onUnload... du coup dans le cadre la navigation se passait normalement et la fermeture de la fenêtre déclenchait le unload de la frame :)