IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Détection du timeout pour finir les SESSIONS


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    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 : 148
    Points : 1 178
    Points
    1 178
    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
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    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 éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    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 : 148
    Points : 1 178
    Points
    1 178
    Par défaut
    Merci beaucoup pour ton attention!

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

  4. #4
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    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 : 148
    Points : 1 178
    Points
    1 178
    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