|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 111 ![]() |
Bonjour j'ai un petit problème, je stocke un champs online en booléen dans ma base, j'ai fait une fonction log qui update a la connexion et logout qui update a off a la déconnexion, le problème vient quand un utilisateur se déconnecte sans cliquer sur le bouton mais en fermant son navigateur/fenêtre, le logout n'est pas pris en compte,
comment faire ? Merci |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Il n'y a pas de vraie solution.
De la même facon, tu ne peux pas dire si ton utilisateur est en train de lire une page de ton site ou s'il est parti de chez lui. La meilleure méthode est d'enregistrer la date a chaque fois que l'utilisateur accès a une page et de considérer que les utilisateurs n'ayant pas une action récente sont deconnectés. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 111 ![]() |
euh tu pourrais m'expliquer comment faire ?
Merci |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Bonsoir,
c'est simple, à chaque action de l'utilisateur sur ton site, tu mets un champ de type timestamp par exemple en base. Ainsi, à tout moment tu peux "savoir" si un utilisateur est connecté ou non en faisant une différence entre maintenant et le champs en table. Si ce temps est supérieur à X minutes, tu le considères comme déconnecté. Autre solution (plus lourde) : "pinguer" le client via un serveur de sockets
__________________
Je ne réponds pas aux questions envoyées par mp |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 111 ![]() |
merci ça j'avais compris, mais mon problème c'est plus : a chaque action sur mon site ?
comment je fais ça ? genre quand il surf simplement par exemple |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Quand il surfe comme tu dis, il affiche des pages php je suppose puisque tu postes ici. Dans ces pages php, tu choisis ou non de mettre à jour le champ...libre à toi de décider quelles actions doivent mettre à jour ta base
__________________
Je ne réponds pas aux questions envoyées par mp |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Christele Inscription : novembre 2009 Messages : 661 ![]() |
Bonjour,
Tu as expliqué comment tu flag ta base de données logué=O/N Sabotage tedit que s'il ne se delogue pas par ton bouton "se deconnecter" tu ne peux maitriser s'il quitte ton site, ou est toujours dedans. Je dis ++ sur ce point. Mais tu ne nous dis pas quel élément te donne l'info de "qui il est" de page en page Je supposes qu' il sagit d'une valeur de session genre $_SESSION['pseudo'] qui sera ou vide ="" ou avec un pseudo ="machin" Si c'est une formule de ce genre je te signales 1) que la session coté serveur s'arréte au bout de 15 minute (en général) d'inactivitée du visiteur. 2) que si un visiteur quiitte son navigateur, le cookie de session est supprimé Voici les deux cas de deconnection sans intervention speciale ! Si un visiteur va sur tes pages et que au moins sur toutes tes pages tu as session_start(); cela maintiens sa session et $_SESSION['pseudo']=="machin" !! |
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
oui, essayer de suivre l'heure de la dernière action d'un utilisateur reviens à réimplementer un dispositif qui existe en "natif" sur la gestion des $_SESSION. Suffit de mettre une durée de vie plus courte à ta session et tu auras l'effet voulu.
Sinon avec un peu d'ajax du peut implementer un periodical updateur qui réveille la $_SESSION toute les 10 secondes et quand ce "ping" disparait tu sais que ton utilisateur à arrêter javascript ou à fermé la page. Attention à la bp toutefois.
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#9 | |
|
Membre chevronné
![]() Christele Inscription : novembre 2009 Messages : 661 ![]() |
Citation:
allez on dira toute les cinq minutes |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com