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 :

Problème de perte de session


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2002
    Messages : 109
    Points : 71
    Points
    71
    Par défaut Problème de perte de session
    Je perds totalement ma session, sauf que cette dernière semble fonctionner si je ferme l'onglet Firefox et revient. Voici la trace de mon problème:

    1) Dès l'entrée sur le site, il se crée un fichier nommé « sess_c65e48e76537ac9b875abef4ba992a2d » dans mon
    répertoire c:\tmp (save_path). Ce fichier vide (0kb) est probablement créé par mon session_start() dans mon
    fichier header.inc.

    2) J'entre mon nom d'utilisateur/mot de passe et j'appuie sur le bouton « Connecter ». Le formulaire appelle un
    fichier contenant le code pour procéder à l'authentification et la mise en $_SESSION["Member"] les informations
    sur le membre connecté.

    Tout fonctionne à merveille sauf qu'il se crée un nouveau fichier de session nommé « sess_5ef2b3a24c832c22a83ae3035e21ddc3 »
    de 1kb contenant mon objet Member sérialisé.

    3) Ma variable $_SESSION["Member"] reste vide dans tout le site, il n'y a rien à faire...

    4) Je ferme l'onglet (j'utilise Firefox) et je retourne sur mon site et là, je suis connecté et tout fonctionne à merveillé! Il ne
    s'est pas recréé de fichier dans le répertoire c:\tmp.

    Qu'arrive-t'il? Pourquoi se crée-t-il un deuxième fichier de session, mais que l'application semble connectée sur le premier? Le seul truc
    qui me vient en tête c'est le fait qu'une fois la validation du mot de passe effectuée, je fais un header("Location: index.php?tab=favoris");

    J'ai remarqué cette note dans la documentation PHP:

    Note : Session ID is not passed with Location header even if session.use_trans_sid is enabled. It must by passed manually using SID constant.

    Quelqu'un peut m'aider?

    Contenu de mes fichiers connexion.php et header.inc:

    connexion.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
    <?php
     
       include("../header.inc");
     
       $ME_Nickname = $_POST["ME_Nickname"];
       $ME_Password = md5($_POST["ME_Password"]);
     
       $Member = validatePassword($db, $ME_Nickname, $ME_Password);
     
       if (is_object($Member)){
     
          $_SESSION["Member"] = serialize($Member);
     
          header("location: " . SITE_URL . "index.php?tab=favoris");
          exit();
     
       } else {
          echo "Mauvais mot de passe";
       }
     
       include("../footer.inc");
     
    ?>
    header.inc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
       session_start();
     
       define(SITE_PATH, $_SERVER["DOCUMENT_ROOT"] . "/test/site/");
       define(SITE_URL, "http://127.0.0.1/test/site/");
     
       require(SITE_PATH . "includes/c_objects.inc");
       require(SITE_PATH . "includes/db.inc");
       require(SITE_PATH . "includes/functions.inc");
     
       $db = connect(DATABASE_NAME, DATABASE_USERNAME, DATABASE_PASSWORD);
     
    ?>
    Merci!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2002
    Messages : 109
    Points : 71
    Points
    71
    Par défaut
    J'ai fini par trouver, c'était moi le problème!

    Dans mes configurations, je bâtis l'adresse avec http:127.0.0.1... et je faisais des tests avec localhost!

    Ça marche très bien maintenant!

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

Discussions similaires

  1. Projet iPhone : Problème de perte de session
    Par OLH05142 dans le forum Développement iOS
    Réponses: 4
    Dernier message: 02/12/2011, 09h02
  2. Problème perte variable session
    Par peaceandloveman01 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/09/2009, 19h19
  3. [navigateur]Problême de pertes de sessions sous IE (.js)
    Par Invité4 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 21/11/2005, 17h53

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