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 :

expiration d'une session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut expiration d'une session
    bonjour à tous.
    voici mon probleme:
    je veux qu'une session soit expirer et rediriger 30 minutes apres que l'utilisateur accede à la page d'acces.
    voici mon code:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?
    include "conn.php";
    session_start();
    $login=$_SESSION['login'];
    if($login){
    $sql="select * from admin where login='$login'";
    $result=mysql_query($sql);
    while($row=mysql_fetch_array($result)){
    $prio=''.$row['priorite'].'';
    $temps=''.$row['temps'].'';}
    $temps_ecou=time()+$temps;
    ?>
    <html><head><title>TEST</title></head>
    <body>
    <p><font color="#FF0000"><? echo $login;?></font></p>
    <?
    if($temps_ecou){
    header("location:logout.php");}
    else{
    if($prio=="administrateur"){
    ?>
    <p><a href="logout.php">Logout</a><br></p>
    <p><font color="#FF0000">C'est moi l'Admin</font></p>
    <?
    }
    else{
    ?>
    <p><a href="logout.php">Logout</a></p>
    <p><font color="#FF0000">Je suis un simple invité</font></p>
    <? } ?>
    </body>
    </html>
    <? } }
    else{
    header("location:index.php");} 
    ?>

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Tu pourrais garder en $_SESSION le moment de la dernière activité. Puis lorsque que le membre essaye de revenir sur la page tu fais un test et tu détruis la session.

    Sinon, il faudrait vérifier, tu pourrais réduire la durée de vie des sessions mais à se moment là ca le ferait qu'il ait activité ou non

  3. #3
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    mais ce que je voudrais moi c qu'une personne puisse me corriger le code

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 136
    Par défaut
    lu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    $temps_ecou=time()+$temps; // $temps représente quoi ?
    ...
    if($temps_ecou){ // ce test, à priori, sera toujours vrai. 
    header("location:logout.php");}
    ...

  5. #5
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $temps_ecou=time()+$temps; 
    if($temps_ecou){ // ce test, à priori, sera toujours vrai. 
    header("location:logout.php");}
    time() represente le temps ecoulé depuis 1970
    $temps une variable recuperer depuis la base de données c la ou j'ai stocker les 30 minutes

    je m'explique :
    si $temps_ecou recoi le $temps(30) + times()
    la session doit etre expirer et rediriger vers ...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 136
    Par défaut
    lu

    Donc je suppose que
    dans ce cas, pour que ton code fonctionne tu dois enregistrer la valeur de time() lors de la connexion et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $heure_connexion = time(); //lorsque l'utilisateur se connecte
    et ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ((time() - $heure_connexion) > $time) {
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. expiration d'une session en php
    Par alex61 dans le forum Langage
    Réponses: 3
    Dernier message: 09/12/2010, 17h43
  2. [Cookies] Expiration d'une session et message
    Par zatoichi27 dans le forum Langage
    Réponses: 2
    Dernier message: 18/06/2008, 13h14
  3. Expirer une session
    Par leo13 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 09/08/2007, 10h15
  4. Réponses: 1
    Dernier message: 09/11/2006, 18h45
  5. Réponses: 5
    Dernier message: 28/05/2006, 14h18

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