Logout utilisateur qui quitter mon site php

Fermé
Mysterious - 31 mars 2011 à 14:12
caphar Messages postés 50 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 7 septembre 2011 - 31 mars 2011 à 21:29
Bonjour,

dé qu'un utilisateur est connecté avec son compte il est ajouté à une table mysql users_online, et lorsqu'il clique sur un lien logout il est supprimé de cette table mais le problème c'est que lorsqu'il quitter le site sans avoir cliquer sur le lien logout sans état est toujours connecté au site, comment devrai-je faire pour le déconnécter sans qu'il ne le fait soit même??

merci d'avance pour vos réponses.

A voir également:

3 réponses

laurenzo17 Messages postés 450 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 avril 2012 124
31 mars 2011 à 14:14
Juste une question pourquoi gère tu la connexion de tes utilisateurs de cette façon?
c'est voulu ou c'est juste que tu ne savais pas comment faire autrement?
0
oui c'est volu je pense que ça me permettera de gérer les comptes d'une maniére plus performante et ajouter des trucs sur le site par exemplde compter le nombre de connectés.

dsl mais tu veux dire quoi par autrement ? je connais que le principe c'est soit les cookies soit sessions.
0
laurenzo17 Messages postés 450 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 26 avril 2012 124
31 mars 2011 à 16:31
Non mais moi je t'aurais proposé d'utiliser les sessions mais effectivement si tu veux faire des stats sur els connecté c'est compliqué.
0
eh bien compliqué c'est le mot que je cherchais ;)
0
une idée ?
0
caphar Messages postés 50 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 7 septembre 2011 12
31 mars 2011 à 21:29
1/ tu mets à jour la table users_online à chaque page vue updatant la date où la page a été vue dans un champ DATETIME ou un TIMESTAMP
2/ Tu définis une limite de temps arbitraire $duree (ex. 30 minutes -> 1800 secondes ou beaucoup plus -> 1 jour -> 86400 secondes) pour dire que l'utilisateur est parti
3/ tu appelles régulièrement une requête qui va vider les lignes de la table users_online qui n'ont pas été mises à jour depuis plus de $duree secondes. Tu peux appeler cette requête :
- via un script Cron appelé tous les jours à la même heure, ou plusieurs fois par jour
- en l'insérant à chaque déconnexion d'un utilisateur
-> évite de l'appeler à chaque chargement de page car cela va générer beaucoup de requêtes pour rien
0