p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre Expert
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : mai 2007
    Messages : 138
    Points : 1 125
    Points
    1 125

    Par défaut Détection du timeout pour finir les SESSIONS

    Bonjour à tous!

    Je suis à la recherche d'une solution pour un petit souci! en effet, je veux créer une fonction qui détecte qu'un utilisateur n'a pas rechargé des pages du site pendant un certain temps et détruire sa session automatiquement. Je suis allé chercher sur google mais je n'ai rien trouvé de spécial à part ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    define('INACTIVITY_TIMEOUT',3600);
    function check_timeout()
    {
        if (time()>=$_SESSION['expires_on'])
        {
            logout();
        }
        $_SESSION['expires_on']=time()+INACTIVITY_TIMEOUT;
    }
    Je l'ai utilisé mais le résultat escompté n'est celui que j'ai eu, en fait, ce code ne fait rien du tout. mais si on peut partir de ceci? comment procéder pour déclencher un compte à rebours et le réinitialiser si la page est rechargé? merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    24 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 24 152
    Points : 35 519
    Points
    35 519

    Par défaut

    Les sessions PHP ont déjà un timeout défini par le serveur.

    Si tu veux un contrôle de ce temps au niveau de ton application, le code que tu nous montres est tout à fait valable.
    Si tu l'as simplement copier/coller evidemment ça ne fait rien ; utilise le comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    session_start();
    define('INACTIVITY_TIMEOUT',3600);
    if (time()>=$_SESSION['expires_on'])
        {
          session_destroy();
          echo 'session terminée';
        }
    $_SESSION['expires_on']=time()+INACTIVITY_TIMEOUT;

  3. #3
    Membre Expert
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : mai 2007
    Messages : 138
    Points : 1 125
    Points
    1 125

    Par défaut

    Merci beaucoup pour ton attention!

    Je m'envais donc le tester et revenir vous dire quoi, merci!

  4. #4
    Membre Expert
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : mai 2007
    Messages : 138
    Points : 1 125
    Points
    1 125

    Par défaut

    Au fait, quand on fait le teste avant la déclaration de la variable session, ca ne pose pas de problème? parce que là j'essaie mais ca détruit les sessions et me déconnecte directement dans moins d'une seconde! je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	session_start();
    	define('INACTIVITY_TIMEOUT',120);
    	if (time()>=$_SESSION['expires_on'])
    	{
    		header ('Location:./includes/deconnexion.php');
    	}
    	$_SESSION['expires_on']=time()+INACTIVITY_TIMEOUT;
    Je met à 120 secondes mais la connexion-déconnexion est instantané!

Discussions similaires

  1. [WCF][NHibernate] HttpModule pour gérer les sessions NHibernate
    Par diplomegalo dans le forum NHibernate
    Réponses: 10
    Dernier message: 11/07/2012, 13h28
  2. Script pour gérer les sessions utilisateurs sous Ubuntu
    Par thucydide dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 08/06/2012, 11h51
  3. Réponses: 1
    Dernier message: 25/01/2012, 13h32
  4. Pb de compil sur une procédure pour killer les sessions d'une base
    Par tibal dans le forum Adaptive Server Enterprise
    Réponses: 4
    Dernier message: 24/04/2009, 16h42
  5. shell pour tuer les sessions inactives
    Par big1 dans le forum Oracle
    Réponses: 4
    Dernier message: 08/08/2006, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo