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 :

Perte de données de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Perte de données de session
    J'ai un enchaînement de programme utilisant $_SESSION.

    le1er index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // Déclaration Smarty
    require('gestelle/setup.php');
    $gestelle = new Smarty_gestelle;
    // Inclusion de la configuration et des fonctions
    include("inc/conf.php");
    include("inc/fonctions.php");
    // Inclusion de la vérification des droits d'accès
    include("verif.php");
    // Affichage
    $gestelle->display('index.html');
    include("inc/footer.php"); ?>
    Le 2ème verif.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    // Contrôle de la session
    session_start();
    $auth_session=$_SESSION['auth'];
    if($auth_session != 'yes')
    {
    	session_unset(); // on efface toutes les variables de session
    	session_destroy(); // on detruit la session en cours.
    	mysql_close($connect_db);
    	header("location: /".$prefixe_dossier."login.php");
    	exit;
    }
    ?>
    Le 3ème logout.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
    <?php
    include("inc/conf.php");
    session_start();// on démarre la session
     
    // maintenant on détruit la session en cours.
    session_unset(); // on efface toutes les variables de session
    session_destroy(); // on detruit la session en cours.
     
    // Maintenant on initialise la session
    $_SESSION['auth']="";
     
    // On renvoi sur la page d'index et il doit demander le login/mot de passe
    header("location: /".$prefixe_dossier."index.php");
     
    ?>
    Ma question : lorsque j'entre sur mon site au travers de index.php, verif.php s'exécute normalement.

    Lorsque je veux sortir de ma session, je clique sur un bouton qui exécute logout.php et ensuite j'ai l'erreur suivante :

    Notice: Undefined index: auth in c:\program files\easyphp1-8\www\gestelle\verif.php on line 4

    Je ne vois pas pourquoi "auth" n'est plus défini, puisqu'il ne l'est pas plus lorsque je viens la première fois sur mon site.

    Merci

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    tu dois faire un session_start si ta session a été destroyée

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Manque une ouverture de session ?
    Ce serait dans index.php alors.

    Ce qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    session_start();
    // Déclaration Smarty
    require('gestelle/setup.php');
    $gestelle = new Smarty_gestelle;
    // Inclusion de la configuration et des fonctions
    include("inc/conf.php");
    include("inc/fonctions.php");
    // Inclusion de la vérification des droits d'accès
    include("verif.php");
    // Affichage
    $gestelle->display('index.html');
    include("inc/footer.php"); ?>
    Mais dans ce cas j'ai un message qui ne va pas :

    Notice: A session had already been started - ignoring session_start() in c:\program files\easyphp1-8\www\gestelle\verif.php on line 3

    Notice: Undefined index: auth in c:\program files\easyphp1-8\www\gestelle\verif.php on line 4

    J'ai fait un programme repar.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    session_start();
    				$_SESSION['auth']="";
    				$_SESSION['logname']="";
    		   		header("Location: index.php?");
    		   		exit();
    ?>
    Il me permet de redémarrer.

  4. #4
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Modif de logout.php
    Je ne sais pas si je fais bien, mais en supprimant la ligne "Destroy", je reviens bien à une demande de mot de passe et si j'essaie de forcer l'url en entrant directement index.php je suis bloqué par le message suivant :

    "Notice: Undefined index: auth in c:\program files\easyphp1-8\www\gestelle\verif.php on line 4"

    Mais est-ce la bonne solution ?

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

Discussions similaires

  1. Perte de donnée
    Par spikto dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 16h03
  2. Perte de données Firebird
    Par jeanafond dans le forum Débuter
    Réponses: 8
    Dernier message: 19/05/2005, 10h21
  3. Crash InnoDB,perte de données définitives... Info ou Intox ?
    Par Alexandre T dans le forum Administration
    Réponses: 3
    Dernier message: 17/01/2005, 10h44
  4. [JTable] Perte des données
    Par david71 dans le forum Composants
    Réponses: 8
    Dernier message: 09/01/2005, 00h37
  5. [popup] passage de données de session
    Par Mister_FX dans le forum ASP
    Réponses: 4
    Dernier message: 23/08/2004, 17h38

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