Probleme session

ivan33 Messages postés 2 Date d'inscription   Statut Membre -  
Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   -
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
Configuration: Windows XP
Firefox 3.5.3

4 réponses

  1. pretexte Messages postés 9 Statut Membre 1
     
    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
  2. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    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
  3. ivan33 Messages postés 2 Date d'inscription   Statut Membre
     
    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
  4. pretexte Messages postés 9 Statut Membre 1
     
    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
    1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      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