Probleme session

Fermé
ivan33 Messages postés 2 Date d'inscription jeudi 22 octobre 2009 Statut Membre Dernière intervention 23 octobre 2009 - 22 oct. 2009 à 02:11
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 23 oct. 2009 à 09:24
bonjour et merci de maider.voila mon pb

jai fait un script qui me permet de me deconnecter d'une page une fois le bouton deconnecter appuyé mais je pb est ke si la personne ne clicke pas sur deconnecter je veut pouvoir savoir si il a quitter le site .

je dis ca car jai fait un script qui compte les personnes inscrits du site en modifiant le l'etat a 1 et donc si la personne ne clicke pas sur deconnexion et quitte juste le site je me retrouve avec un etat inchanger et donc je veut le gerer merci

4 réponses

pretexte Messages postés 9 Date d'inscription jeudi 22 octobre 2009 Statut Membre Dernière intervention 23 octobre 2009 1
22 oct. 2009 à 05:33
Bonjour,
Escuses moi mais tu est dur a comprendre, bref quelques questions:

Es tu en local (en test) ou sur le site web lui même ?
ton serveur est'il Apache ?
As tu PHP et quelle version , pareil pour Mysql ?
As tu accés a php.ini

Avec ces informations je pourrais te donner une solution !
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
22 oct. 2009 à 10:27
dans ta base de données, dans la table "users", tu mets un champs "dernier signe d'activité".
sur toutes tes pages, tu insères un petit script ajax qui telecharge une page php toutes les 2 minutes par exemple. Cette page php mettra a jour le dernier signe d'activité.

comme ca, tu n'as plus qu'à détecter les gens qui ont donné signe de vie il y a moins de 2 minutes
0
ivan33 Messages postés 2 Date d'inscription jeudi 22 octobre 2009 Statut Membre Dernière intervention 23 octobre 2009
23 oct. 2009 à 02:22
bonjour ou bonsoir et merci pour vos propositions

pour pretexte
je suis en test en local, jutilise wamp la derniere version.

pour nabla's
stp tu pourrai maider avec le code. suis pas tres bon en ajax, jai quelques pb.

merci
0
pretexte Messages postés 9 Date d'inscription jeudi 22 octobre 2009 Statut Membre Dernière intervention 23 octobre 2009 1
23 oct. 2009 à 08:37
Parfait, il te suffit de créer une table suivi avec comme zones

LEnom_visiteur
LAsessionID
LEtimestamp


a chaque fois qu'un visiteur passe sur une page tu fais ceci ....

1) calcul le timestamp actuel
$LeTemp=getdate();
$Actuel=$LeTemp['0']; // c'est le timestamp actuel

2) parcours TOUTE LA TABLE
donc
$LEnom_visiteur
$LAsessionID
$LEtimestamp


pour chaque data
$Duree=$Actuel-$LEtimestamp;
alors:

si $Duree<300 // 5 minute
c'est bon on garde le data
si $LAsessionID = ID de session du visitur, alors on remplace
son LEtimestamp par $Actuel
==============================

si $Duree>=300 // 5 minute
on supprime le data
si $LAsessionID = ID de session du visitur, alors on vide sa session
et on lui en recrée une
on recree un data avec ces infos
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
23 oct. 2009 à 09:24
voila, ca c'est le principe de base.
La partie ajax permettant juste de détecter que la personne est encore connectée, même si elle laisse sa fenettre ouverte sans la toucher
0