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 :

session.gc_maxlifetime ou session.cache_expire ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut session.gc_maxlifetime ou session.cache_expire ?
    Bonsoir,

    Je cherche à prolonger le temps d'ouverture d'une session à chaque changement de page dans une zone administration, afin que l'utilisateur étant loggué le reste tant qu'il ne cliques pas sur un loggout.

    Actuellement, j'ai mis en tête de chaque page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ini_set('session.gc_maxlifetime', 60*60);
    session_start();
    Mais comment prolonger d'une heure le temps de la session à chaque changement de page ? Via un "session.cache_expire" ?

    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
    Par défaut
    la vie de la session recommence a chaque demarrage de session.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut
    Ok mais je fais un petit essai et je ne comprends pas pourquoi la valeur de la session est toujours en mémoire. Dans mon cas précis, sa valeur devrait changer au refresh de la page non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
    ini_set('session.gc_maxlifetime',5);
    session_start();
     
    if ( !isset($_SESSION['stq']) ) {
    $_SESSION['stq'] = time();
    }
    ?>
    <html>
    <head>
    <title>TEST</title>
    <META HTTP-EQUIV="Refresh" CONTENT="10">
    </head>
    <body>
    <?php echo time(); ?> - test - <?php echo $_SESSION['stq']; ?>
    </body>
    </html>

  4. #4
    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
    Par défaut
    Quand tu fais un session_start() :
    1 - PHP rafraichit la session demandée
    2 - PHP décide de déclencher ou non (selon la probabilité configurée sur le serveur) le "nettoyeur de session".

    Si tu es tout seul sur le serveur, ta session ne sera donc jamais supprimée.

    Si tu lances ton script avec deux sessions différentes, chacun va supprimer la session de l'autre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut
    Dans le cas où j'arriverai sur une page d'identification, ma deuxieme authentification écraserait la première oui.

    Hors là, ce qu'il se passe c'est qu'un collègue à moi se loggue sur une page qui l'amènes ensuite sur un formulaire et si il ne crée aucune activitée sur celle ci (remplissage du formulaire) ; il sera déconnecté de sa session d'authentification au refresh de cette page par ex au bout d'un temps N.

    Dans l'exemple que j'ai cité j'ai quand même du mal à comprendre pourquoi la valeur de la session ne changes pas au refresh vu qu'on demandes à la session de ne durer que 5 sec.

  6. #6
    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
    Par défaut
    Je te l'ai expliqué ; je ne parle pas du tout de session qui s'écrasent.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  2. session start contre session register
    Par michka999 dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2006, 15h41
  3. Réponses: 1
    Dernier message: 30/03/2006, 07h19
  4. [Sessions] lifetime de session ie...
    Par datz dans le forum Langage
    Réponses: 8
    Dernier message: 10/10/2005, 03h40
  5. Session() ou Set session()
    Par CDRIK dans le forum ASP
    Réponses: 5
    Dernier message: 04/10/2004, 14h02

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