|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
Salut tout le monde;
Comment faire exécuter un script PHP qui détruit une session et enregistre l'heure de déconnexion dans la base de données après fermeture du browser. à noter que je ne veux pas utiliser les cookies juste sessions. Je voudrais faire ça car je fais des statistiques sur les pages visitées et la durée de session de chaque utilisateur dès l'ouverture de session en cliquant sure connecter jusqu'à fermeture de session en cliquant sur se déconnecter. Mais le problème ce qu'il y a des utilisateurs qui ne se déconnectent pas avant fermer le browser. merci et rappelez vous que j'ai besoin de votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Tu vas devoir utiliser de l'ajax
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
Oui j'utilise déjà AJAX avec jQuery mais quelle est l'action qui va déclencher l’exécution du script PHP destination de la requête AJAX?
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#5 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
si j'associe mes requêtes AJAX à cet évènement et d'ailleurs je l'ai fait tout action à part la fermeture de browser comme actualisation de la page ou bien aller d'une page à l'autre via un lien va declencher un unload ce qui va vider les session
|
|
|
00
|
|
|
#6 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Ah oui, effectivement.
Sur le net, j'ai trouvé une astuce mais ça ne détecte pas la différence entre rafraichissement (F5) et fermeture du navigateur. Code :
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||
|
00
|
|
|
#7 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
ce n'est pas opérationnel si l'actualisation de page fermera la session come fermeture de browser :s
La vraie question qui se pose, est ce qu'il n'y a pas de moyen de détecter le bouton de fermeture d'un browser qui se trouve en haut à droite.? |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 709 ![]() |
Salut
Citation:
Pour ma part, que l'utilisateur ai mis 2 secondes ou 3 heures à fermer son navigateur après la dernière page demandée, je ne vois vraiment pas quelle conclusion on peu en tirer. Du coup, je ne vois pas quelle action/modification/amélioration qu'il y aurait à apporter à un site en obtenant cette info. Citation:
Ensuite, si ce que tu recherche à faire n'est pas vraiment lié à des stats mais de sécuriser le site, c'est à dire qu'il ne soit pas possible qu'une fois le navigateur fermé de reprendre la même session, et bien théoriquement ça l'est déjà. La plupart des navigateurs et par défaut détruisent les cookies après fermeture. Du coup, s'il n'y plus de cookie, et bien le serveur devrait le détecter, et ne pas récupérer la session lié à ce cookie inexistant, par conséquent de repartir sur une nouvelle session/cookie. S'il y avait une identification auparavant, il faudra alors se ré-identifier. C'est théorique car si on prend Firefox par exemple, on peu faire en sorte de modifier ce fonctionnement dans les options. Ca reste néanmoins une action volontaire de l'utilisateur. A coté de ça, prospecte du coté de l'évènement "onbeforeunload", il me semble que la plupart des navigateurs le prennent en compte.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#9 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Ah oui, effectivement.
Sur le net, j'ai trouvé une astuce mais ça ne détecte pas la différence entre rafraichissement (F5) et fermeture du navigateur. Code :
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||
|
00
|
|
|
#10 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
salut RunCodePHP:
les clients pour lesquels je développe le site web veulent savoir est ce que leur site est bien utilisé par leurs clients en plus veulent savoir les rubriques les plus visitées donc c'est ce qu'ils veulent, en général c'est l’intérêt et ils insistent sur ce point. |
|
|
00
|
|
|
#11 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 709 ![]() |
Citation:
Mais qu'est ce que cela apporte de savoir le moment où l'utilisateur ferme le navigateur ? Donc toi même en tant que développeur, quelle conclusion en tirerais tu ? Personnellement je ne vois vraiment pas. Il peut évidemment avoir des cas particuliers, je suis alors curieux de le savoir D'ailleurs, l'action de fermer le navigateur ne correspond pas à une rubrique ou une page du site à mon sens. De même que, si un utilisateur à plusieurs sites d'ouverts dans plusieurs onglets, qu'il ferme ensuite juste l'onglet du site en question et pas le navigateur, et bien il me semble qu'il sera impossible de déclencher quoi que ce soit au moment où le navigateur sera fermé. Disons qu'il me parais impossible d'obtenir à coup sûr et pour tous les internautes ce moment où ils fermeront leur navigateur. Cet action de fermer le navigateur n'a théoriquement aucun rapport avec le site car depuis très longtemps maintenant un navigateur fait bien plus que de faire une visite d'un seul et unique site Web, par conséquent cette info serait inexploitable. Seule la dernière requête HTTP que le navigateur a envoyé au serveur (en général lié à un clic sur un lien ou formulaire) correspond à mon sens à la dernière action de l'internaute, donc sa dernière visite ou sa sortie si on peu dire, et théoriquement cette info tu l'as. Donc théoriquement toujours tu devrais avoir tout l'ensemble de la navigation de chaque internaute, depuis le 1er contenu demandé jusqu'au dernier, et par conséquent permettre de ressortir les plus demandés. Tu remarqueras que j'utilise plutôt le terme de "contenu demandé" que "page visitée", car à mon sens ce terme "visiter" est pas loin d'être un abus de langage quand il s'agit d'un site Web à mon avis. Un internaute n'entre pas dans un lieu comme dans un musé, il ne vient même pas sur le site Web, il ne fait que recevoir du contenu (du HTML en général), ce qui n'est vraiment pas la même chose. Enfin, tout ça sauf erreur. Mise à part ces parenthèses, as tu essayé cet évènement onbeforeunload ? Il me semble que c'est le seul évènement à peu près exploitable pour déclencher un JS (comme Ajax) au moment de la fermeture du navigateur.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
salut,
Merci beaucoup RunCodePhp pour le temps que tu as consacré pour m’écrire toute cette réponse Je laisse tomber les détails et je vais me concentrer seulement sur la visite du début à la dernière requête émise par l'utilisateur. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com