begin process at 2012 05 28 23:13:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Fermeture de session via navigateur : récupérer l'heure et la date


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fermeture de session via navigateur : récupérer l'heure et la date

samedi 29 mars 2008 à 14:58:26 | Fermeture de session via navigateur : récupérer l'heure et la date

Fredbeginner

Bonjour à tous,
Je développe un site PHP/MYSQL avec une table Logconnection qui récupère l'identifiant du memebre connecté, son IP et sa date / heure de connection. Quand il clique sur le bouton Logout : la table Logconnection récupère via une fonction date() la date et l'heure de déconnection. Celà me permet au lancement du site de voir combien de temps les membres restent connectés et de voir l'intérêt ou pas qu'il ont.
Le problème est que quand un membre ferme son onglet IE ou son navigateur, comment récupérer la date et l'heure de déconnection pour l'insérer dans ma table ??? (la sessions restant active un certain temps).

Merci de votre aide
Fred_Beginner
samedi 29 mars 2008 à 15:22:31 | Re : Fermeture de session via navigateur : récupérer l'heure et la date

neigedhiver

Salut,

Cette question est récurrente, et la réponse ne change pas avec le temps.

Il est impossible de savoir avec certitude quand un visiteur quitte un site. La raison est simple : les applications web ne sont pas des applications client/serveur, la communication se fait dans un seul sens.
Le client demande un document au serveur, qui lui envoie. L'échange s'arrête là.

Qu'un visiteur quitte une page ou bien la laisse ouverte pendant 3 jours, le résultat sera le même pour le serveur, puisqu'il n'aura reçu aucune nouvelle requête.
C'est donc à toi de déterminer à partir de combien de temps sans réponse de la part d'un client, le serveur considère que celui-ci est déconnecté (à moins qu'il ne clique volontairement sur un lien de déconnexion).

Ca, c'est la méthode "oldschool".

Maintenant, tu peux utiliser Javascript pour contrôler un peu mieux. Mais attention : ce n'est pas fiable à 100%. Si un utilisateur désactive Javascript ou utilise un navigateur ne supportant pas javascript (lynx par exemple, ou peut-être un téléphone portable, je ne sais pas s'ils gèrent bien le JS) tu ne pourras pas t'appuyer sur cette technique.

Tu as en gros deux solutions :
- un javascript qui s'exécute lors de la fermeture de la fenêtre et qui appelle un script PHP de déconnexion. Cette méthode a une limite : si le visiteur a 2 pages ouvertes et qu'il en ferme une, ça le compte déconnecté alors que ce n'est pas le cas (et compter en JS combien de fenêtres sur le même site sont ouverte relève de l'irrationnel)
- un javascript qui utilise un objet XmlHTTPRequest qui va, à intervalles réguliers, "pinger" un script, lequel met à jour ta base de données pour garder l'utilisateur "connecté". Cette méthode revient au même que de ne rien faire, sauf qu'elle permet de faire durer une session PHP, et tu peux considérer un temps plus court sans réponse.

J'espère que j'ai été clair... Sinon, ben demande des précisions.


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
samedi 29 mars 2008 à 15:58:21 | Re : Fermeture de session via navigateur : récupérer l'heure et la date

Fredbeginner

Merci pour la rapidité de la réponse.
Quand à la solution je pense que tu a raison : il 'ny a rien d'idéal, inutile de charger en code les pages ou en ressources le serveur : si le membre utilise le logout tant mieux, sinon... tant pis je considère au moins la date de sa dernière visite.

Merci encore

Fred_Beginner


Cette discussion est classée dans : récupérer, date, table, navigateur, heure


Répondre à ce message

Sujets en rapport avec ce message

Heure sur poste client [ par Skyride ] Bonsoir à tousJe parviens à récupérer divers éléments d'information sur un poste client, cependant est ce quelqu'un saurait où je peux trouver des ren Datetime et MySQL [ par DarkSchneider ] Bonjour, Encore un problème, un de plus.Cette fois-ci, c'est les dates.Dans ma base MySQL, j'ai crée une table avec divers champs, dont un se nomm date & heure php [ par eax ] salutjuste une petite question je voudrais faire une addition de 20 minutes sur un timestamp Y-m-d H:i:s comment faire?merci sylvain format de date et time en c+ [ par tertulia ] comment modifier le format de la date c'est dire remplacer les / par - et de l'heure càd remlacer : par - voilac pour pouvoir creer un fichier avec la Mysql -- Order by [ par BirD ] Hello tout le monde, c'est toujours a propos de mon forum, je désir afficher les messsages du plus vieux au plus récent. Dans ma table, j'ai un champ Récupérer le résultat d'une fonction [ par BSide ] Bonjour,dans un formulaire les utilisateurs doivent préciser une date qui est variable. La sélection de cette date se fait via un script qui propose u Récupération de Date, ou Prob Serveur ?? [ par Feebles ] Salut Tous Le Monde, Je débute en PHP, (mais pas en programmation), et j'ai un petit soucis pour récupérer la date du jour encour :j'ai essayer plusie copy champ date null [ par nadou77 ] Bonjour,J'utilise la commande copy pour telecharger dans ma base de donnée un fichier mais ma table contient de champs date et postgres affiche un mes requete SQL qui fait pas son travail [ par florianb ] Bonjour je me heurte a un probleme de requete sql, soit elle fait mal son travail soit c'est mloi qui est mauvais :)! j'ai une table appartement et un concaténation d'une date [ par guev ] bonjour j'ai essayer de faire la concaténation comme le code ci apres mais ça ne marche pas, c'est des zéro qui s'affichent dans ma base.j'ai un champ


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales