Je souhaiterai calculer le temps durant lequel un membre était présent sur mon site.
Pour cela j'ai imaginé cette solution, qui est en fait la seule qui m'est venu à l'esprit
Je prend l'heure à laquelle la 1ere page s'affiche, puis à chaque fois que le membre navigue, on soustrait l'heure de l'ancienne page...
Le problème est de savoir comment faire au mieux...:
1) En utilisant uniquement des sessions : On insère le temps total de connexion dans la base de donnée lorsque le membre se déconnecte du site. Le problème est lorsque la personne quitte le site sans se déconnecter "proprement", il faudrait pouvoir détecter à quel moment elle ferme son navigateur. J'ai vu des codes javascript qui permettaient cela mais je ne suis pas certain que cela fonctionne à 100% et il faudrait obliger le membre à activer JS..?
2) En php : je mets à jour la durée de connexion en faisant un update dans la bdd à chaque rechargement de page.
3) En ajax avec la aussi une maj constante de la bdd.
J'ai vu sur le site sportingbet.com, une fois qu'on est identifié en tant que membre, on a un compteur qui s'affiche, qui indique le temps de connexion en temps réel...c'est avec javascript et peut etre ajax. Si on désactive javascript, la durée ne s'affiche plus, mais continue à être comptabiliser ! En effet si je réactive javascript, lorsque j'actualise, la durée indiquée prend en compte le temps ou JS était désactivé !
Le problème en mettant la bdd à jour à chaque rechargement est que je suppose que cela va être lourd pour le serveur au bout d'un moment non? (100 connectés qui envoient une requête update toutes les 10 sec ca peu aller, mais 5000...voir 10000 c'est autre chose)
Comment faire pour bien faire? Merci pour votre aide et vos suggestions
Bonne journée
Ce message a été modifié par joboy84 - 20 février 2010 - 08:45.



Haut













