savoir quand un utilisateur ferme son navigateur

Mammouth du PHP | 536 Messages

27 juin 2007, 16:35

Bonjour tout le monde.
J'aurais voulu savoir s'il existait une solution en php pour récupérer (quelque chose) qui nous indique qu'un utilisateur a fermé son navigateur internet et donc a détruit sa session.
Si oui, que récupère-t-on ? Une variable ? Et comment l'exploiter ?

Merci
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

27 juin 2007, 16:57

Bonjour,

Non cette information n'existe pas.
La solution habituellement mise en place est de stocker l'heure et la date de la dernière activité (=dernier chargement d'une page) du visiteur en question et de considérer que si cela fait + de X minutes qu'il n'y a plus d'activité, le visiteur est considéré comme parti du site.
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 536 Messages

27 juin 2007, 17:00

peut-on alors utiliser la fonction onUnLoad qui exécute un script javascript nous permettant de créer ou une varaible $deconnect=true; ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 juin 2007, 17:05

Il me semble que onUnload ne s'exécute qu'au changement de la page mais pas à la fermeture, et encore, pas sur tous les navigateurs :?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 536 Messages

27 juin 2007, 17:16

non onLoad s'éxectute à l'ouverture et onUnload à la fermeture. Je sais qu'il marche sous IE (7) et firefox
dc avec ça ça peut aller.
N'y a-t-il pas de fonction contraire a auto_start_session() ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 juin 2007, 17:19

Il me semble que onUnload ne s'exécute qu'au changement de la page mais pas à la fermeture, et encore, pas sur tous les navigateurs :?
;)
Je sais qu'il marche sous IE (7) et firefox
dc avec ça ça peut aller.
Merci pour les autres ... :?
On ne représente peut être beaucoup de monde mais il n'y a pas que PC avec IE7 et FF dans le monde :evil:
N'y a-t-il pas de fonction contraire a auto_start_session() ?
Le PHP est exécuté sur le serveur, le navigateur est sur le client.
quand le PHP fini de s'exécuter, la page n'est pas encore arrivée sur le navigateur.
De plus, quand tu fermes ton navigateur, tu n'envois pas de requête aux serveurs ... donc non, pas de solution en PHP
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 536 Messages

27 juin 2007, 17:26

On ne représente peut être beaucoup de monde mais il n'y a pas que PC avec IE7 et FF dans le monde Evil or Very Mad
Je ne voulais pas t'offenser, dsl. Mais pour l'appli que je vais devoir développer, ça sera très suffisant.

Avec OnUnload(), on peut exécuter un script javascript qui lui applle de l'AJAX et donc exécute une fonction php non ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

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

27 juin 2007, 17:37

Tu peux... l'inconvénient c'est que cette fonction sera appellée à chaque fois que l'utilisateur changera de page et pas seulement quand il fermera son navigateur....

Le sujet a déjà été abordé dans le forum javascript, sans vraiment y trouver de solution satisfaisante..
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 5924 Messages

28 juin 2007, 03:01

On ne représente peut être beaucoup de monde mais il n'y a pas que PC avec IE7 et FF dans le monde Evil or Very Mad
Je ne voulais pas t'offenser, dsl. Mais pour l'appli que je vais devoir développer, ça sera très suffisant.
Ah, bah c'est dommage, je serais le premier à ne pas pouvoir y accéder alors...

Mammouth du PHP | 536 Messages

28 juin 2007, 08:45

bon ben je vais réfléchir à tout ceci.
Je tiendrais au courant quand je serais à ce point au niveau de l'application
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!