Bonjour,
comment puis-je savoir lorsqu'un visiteur quitte mon site, afin de pouvoir faire arrêter la session en cours qu'il a ouvert en arrivant sur le site? pour être plus complet, cela me permettra d'arrêter une action de commande en cours qui aurait été commencée par lui, par exemple.
j'ouvre mes sessions avec " session_start(); " lors de l'arrivée du visiteur sur le site.
merci pour une réponse un peu complète, je connais un peu php mais je ne suis pas un pro...
par avance, merci
topito
Curieux de nature, en savoir un peu plus chaque jour, découvrir... et enfin... pouvoir redonner !....
Salut!
Tu n'as aucun moyen de savoir exatement quand il quite le site, mais tu peux te dire que s'il a pas réactualisé la page depuis un certain nombre de minutes, il peut être considéré comme parti...
Tu peux avoir une base de données qui contient les id de tous les logés et leur datetime de dernière visualisation de page... Si ce datetime est trop dépassé, tu peux faire ce que tu veux
c'est dommage qu'il n'y ait pas de solution lors du départ...
parceque si je prends mon cas, parfois je suis sur plusieurs sites en même temps et donc si je suis sur un site qui a interrompu ma session avant que je n'y revienne je ne vais pas forcément recommencer ce que j'avais entrepris.
merci coockiesch!
Curieux de nature, en savoir un peu plus chaque jour, découvrir... et enfin... pouvoir redonner !....
Sinon tu peux faire du javascript avec la fonction onUnload. Celel ci te dira quand l'utilisateur ferme sa page. Après je sais pas trop quoi en faire mais c'est déjà un bon moyen de repérer quand l'utilisateur par ;)
Bonjour et merci HecToR_coCHON
c'est ce vers quoi je vais essayer de m'orienter si j'arrive à utiliser les variables d'une page à l'autre et d'un fichier à l'autre. J'ai pensé que je pouvais sans doute créer une variable qui s'incrémente de 1 à chaque ouverture d'une nouvelle page de mon site (onload) et qui se décrémente de 1 à chaque fois qu'une page est fermée (onUnload), comme cela lorsque j'arrive au bout (1 ou 0, à définir) je sais que c'est fini et que je peux arrêter ma session...
Mais pour moi cela ne va pas être facile, je crois qu'il faut passer par javascript, j'aurai bien aimé n'en rester qu'à PHP. Je vais essayer de trouver.... maintenant si quelqu'un peut m'aider ce sera avec un grand plaisir!
Curieux de nature, en savoir un peu plus chaque jour, découvrir... et enfin... pouvoir redonner !....
dans ta réponse:"
Tu peux avoir une base de données qui contient les id de tous les logés et leur datetime de dernière visualisation de page... Si ce datetime est trop dépassé, tu peux faire ce que tu veux"
les id dans ma bdd, je les ai...
je comprends ce que tu veux me dire par datetime: c'est a dire: une heure, minute, seconde au moment où il ont ouvert leur dernière page en cours que je mets dans une variable et que j'actualise dans ma base de données... c'est bien cela?
mais après il faut que je puisse revenir à ma base de données au bout du temps dépassé pour supprimer les informations que je ne veux pas garder dans ma base de données, et je ne peux faire cela que lors d'une autre connexion d'un autre visiteur, ce qui veut dire que cela va prendre du temps (traitement de l'effacement) pour le visiteur? ou y a t'il un autre moyen sans que j'intervienne moi-même régulièrement, donc un moyen que je puisse rendre automatique? d'autant plus que je suis en train de penser que si je n'ai pas encore effacé le n° de session qu'il a en cours, il peut le reprendre même si le temps que j'ai défini est dépassé. donc comment faire pour pouvoir diminuer le temps imparti à une session sans intervenir dans le PHP.ini car si je crois savoir qu'on peut le faire, je ne sais pas faire cela et je ne suis peut être pas encore capable de le faire, sachant que je suis pour l'instant chez Online.net
Curieux de nature, en savoir un peu plus chaque jour, découvrir... et enfin... pouvoir redonner !....