Détecter la fermeture du browser

mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008 - 15 oct. 2004 à 17:31
cs_nlh Messages postés 93 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 9 décembre 2007 - 16 oct. 2004 à 17:12
Bonjour à tous

Bonjour j'airais besoin que pendant l'exécution d'un script php vérifier si le browser du client se ferme pour faire une action en conséquence.

Est-ce possible?
J'avait pensé que sa pourrait être possible en envoyant une entête http avec la fonction header, mais je sait pas trop laquelle ni comment faire.

Merci beausoup pour l'aide et pour le temps.

3 réponses

pablor44 Messages postés 60 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 3 octobre 2006
15 oct. 2004 à 18:09
Il faut que tu utilises du javascript : par exemple l'évènement "onunload" dans le body de ta page !!!
0
mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008
15 oct. 2004 à 20:02
Bonjour à tous

Je connait, mais sa ne peut pas fonctionner, puisque le script php fait quelques actions puis ensuite fait un download forcé.
Et quand on fait un download forcé, on ne peut faire de sortie ex : print et echo sont interdit et on ne peut non plus faire afficher de code html ni javascript. Donc la page est vide.
Alors y a-t-il un moyen de savoir si la page ferme.

Oui j'ai aussi un autre script qui fait des actions longues et je ne veut pas envoyer de javascript dedans, alors est-il possible pour cette page aussi de savoir si le browser ferme.

J'avait pensé que sa pourrait être possible en envoyant une entête http avec la fonction header, mais je sait pas trop laquelle ni comment faire.
0
cs_nlh Messages postés 93 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 9 décembre 2007 1
16 oct. 2004 à 17:12
non cherche pas a faire qqchose coté client... en fait il faut que ton php execute un fonction dés qu'il se coupe et qu'il se rend compte que le browser a été fermer avant qu'il ai terminer.?

alors c'est simple il faut juste faire ca :

//quand le script se ferme
//on exectute la fonction shutdown
register_shutdown_function("shutdown"); 
//voila la fonction shutdown
function shutdown(){
//elle verifie de quelle facon c'est couper le script
//si c'est le client qui a coupé le script alors
if(connection_status()=="1"){
//action en conséquence  ;) 
}

}


et je suis pas sure que tu puisse le faire pendant l'execution du scripte... tu peux soit faire comme ci-dessus a la fin du script, ou tu peux carrement stopé le script (ignore_user_abort dans le fichier php.ini) et la fonction s'executera avant la fin de l'execution du script vu qu'il aura été stopé...

Emailing-Online est en cour de réalisation, mais vous pouvez quand meme regarder et tester.
0
Rejoignez-nous