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 :

[Cookies] Disparition de variables de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Par défaut [Cookies] Disparition de variables de session
    Salut,
    J'ai un problème qui m'échappe totalement avec une session:
    j'y ai mis les variables 'page' et 'langue', entre autre. Tout fonctionne en général, mais voilà:
    (je ne donne pas tout le fonctionnement du site, ça serait un peu long)

    il s'agit d'une page, avec insertion d'édition de contenu en formulaire POST, action="lememefichier.php"...
    Tout en bas du document, je fais un print_r($_SESSION):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Array
    (
        [authentification] => 1
        [langue] => fr
        [page] => projets
        [langue_projet] => fr
        [nom] => 11
    )
    C'est 'langue_projet' et 'nom' qui nous intéressent
    Puis j'envoie le formulaire (submit), puis tout en haut du même document, je réaffiche ma session:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Array
    (
        [authentification] => 1
        [langue] => fr
        [page] => projets
        [langue_projet] => 
        [nom] => 
    )

    je donne le seul code (il me semble) qu'il y aie entre les print_r, donc le début du document:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      //SCRIPT DE VALIDATION ET ENREGISTREMENT DE L'ÉDITION
    session_start() ;
     
     
    //DONNÉES À INCLURE:
    include_once ('fonctions.php') ; //il n'y a que des fonctions...
    //CONNEXION À LA BASE:
    connexion_db() ; 
     
    if (!empty($_POST) && $_SESSION['authentification'] == TRUE ){
     print_r($_SESSION); ...
    le traitement du formulaire arrive ensuite, puis l'affichage de la page...
    merci de votre aide...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    register_globals ne serait pas sur On (cf phpinfo) et vous n'auriez pas des variables nommées $langue_projet et $nom dans l'un de vos scripts ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Par défaut
    Citation Envoyé par julp Voir le message
    register_globals ne serait pas sur On
    non
    vous n'auriez pas des variables nommées $langue_projet et $nom dans l'un de vos scripts ?
    je repêche ces infos pour les mettre dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $langue = $_SESSION['langue_projet'] ;
        $nom = $_SESSION['nom'] ;

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Par défaut
    il me vient une idée:
    En fait, tout cela se passe dans un pop-up, est-ce que ça joue un rôle pour les session? En tous les cas webdevelopper me montre le même cookie sur la fenêtre principale et sur le pop-up...

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ça me paraît peu probable puisqu'elles seraient toutes affectées en ce cas. Y aurait-il une confusion entre les opérateurs == et =), une condition erronée menant à un écrasement de la variable, autres ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Par défaut
    non, pas de confusion du genre...
    Mais j'ai avancé, en analysant ce qui se passe au niveau du fichier de session (/var/lib/php5/sess_xxxxxx sur linux)... je récapitule les événements:
    1. j'ouvre mon pop-up. les infos 'langue' et 'nom' sont transmisent par url ($_GET)
    2. elles sont ensuite récupérée dans $langue et $nom, puis utilisée pour la requête sql... pas de souci. Elles sont ensuite attribuée à la session ($_SESSION['nom'] = $nom etc.)(c'est parce qu'en mode édition, on navigue avec les formulaires... )
    3. à la fin du script (après le chargement de la page: selon la doc de PHP5, la super-globale est enregistrée dans le fichier en fin de script), elles sont bien présentes dans le fichier de session
    4. je clique sur un submit, qui renvoie sur la même page (action="lapage.php"), la page se charge correctement, en reprenant les valeurs dans la session ($langue = $_SESSION['langue_projet'])
    5. à la fin de la page, print_r($_SESSION) affiche bien les valeurs
    6. !!!Mais dans le fichier de session, elles ont disparue!!! Et il va de soi qu'après un autre submit, elles n'apparaissent plus dans le print_r, et la page se charge sans contenu...

    Question: pourquoi???

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2007, 16h08
  2. [Cookies] passage de variables de session
    Par Le fut dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2007, 15h11
  3. Réponses: 6
    Dernier message: 09/04/2007, 16h53
  4. Réponses: 1
    Dernier message: 09/03/2007, 18h26
  5. [Cookies] Variable de session + IE
    Par Phenomenium dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2006, 11h28

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