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 :

comment faire expirer une session ?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut comment faire expirer une session ?
    slt tlm,

    j'essaye d'ecrire quelques lignes qui me permettent de gerer les session cad je veux qu'apres un certain temps et si l utilisateur ne touche rien sur le site, sa session s'expire automatiquement et affiche le message 'votre session est expiré' et la il doit se reconnecter.

    j'ai trouvé quelque chose sur le net mais malheureusement ça fonctionne pas toujours .

    quelqu'un peut m'aider?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    avec le lifetime
    http://www.php.net/manual/fr/functio...kie-params.php

    ensuite il faudrait checker tout les X temps en AJAX voir si la session est active

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut
    j'aimerais bien la faire avec les session sans passer par les cookies

    j'ai essayer ce code mais le probleme il me derige toujours dans la page login.php

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    function valide_login () {
                /* Mise en place d’un délai pour une session de connexion. */
                /* L’expiration est de 10 minutes par défaut (600 secondes). */
                $delai = 600;
                $_SESSION["v"]["expires_by"] = time() + $delai;
           }
     
           function verif_login () {
                    /* Vérifie le délai d’expiration de la session */
                      $expiration = intval($_SESSION["v"]["expires_by"]);
                      if (time() < $expiration) {
                           /* La session est toujours en cours ; on réinitialise son délai.*/
                           valide_login();
                           return true;
                      } else {
    				      /* la session a expiré ; on supprime la variable de session. */
                          unset($_SESSION["v"]["expires_by"]);
                          return false;
     
                      }
    	 }
     
               if (verif_login()!= true) {
                    header("Location: login.php");
         }
    ?>

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Est ce que tu met avant de crée et d'appelé la session

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'es en trans_id ? puisqu’une session génère toujours un cookie

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 77
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par m4riachi Voir le message
    Est ce que tu met avant de crée et d'appelé la session
    oui bien sure mais e c pas si l emplacement du codes est correct;j'ai deux page
    page 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
          require('f.php'); 
    	 session_start();
    	 if (verif_login()!= true) {
                    header("Location: login.php");
         }
    ?>
    et la page o il y a mes fonctions

    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
    19
    20
    21
    22
    23
    <?php
    function valide_login () {
                /* Mise en place d’un délai pour une session de connexion. */
                /* L’expiration est de 10 minutes par défaut (600 secondes). */
                $delai = 600;
                $_SESSION["v"]["expires_by"] = time() + $delai;
           }
     
           function verif_login () {
                    /* Vérifie le délai d’expiration de la session */
                      $expiration = intval($_SESSION["v"]["expires_by"]);
                      if (time() < $expiration) {
                           /* La session est toujours en cours ; on réinitialise son délai.*/
                           valide_login();
                           return true;
                      } else {
    				      /* la session a expiré ; on supprime la variable de session. */
                          unset($_SESSION["v"]["expires_by"]);
                          return false;
     
                      }
    	 }
    ?>

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Mets la session_start avant le require
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    session_start();
    require('f.php'); 
    if (verif_login()!= true) {
    header("Location: login.php");
    }
    ?>

Discussions similaires

  1. [VB.NET] Comment faire expirer une page ?
    Par nine93 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/09/2006, 17h47
  2. Réponses: 1
    Dernier message: 06/04/2006, 15h35
  3. Comment faire fonctionner une scroll bar ???
    Par toto4650 dans le forum MFC
    Réponses: 10
    Dernier message: 18/07/2005, 16h47
  4. Réponses: 2
    Dernier message: 13/12/2004, 15h16

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