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 avec l'utilisation des 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
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut Problème avec l'utilisation des variables de session
    Bonjour,

    J'ai besoin d'utiliser les sessions et malgrès tout ce que j'ai pu lire, j'ai un soucis
    J'arrive a creer mes variables sessions et a les réulitiser, mais pas a effectuer un test dessus...
    J'ai essayer pleins de trucs mais rien n'y fait ...
    Je vous passe mes deux fichiers tests :

    test.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    session_start();
    $_SESSION['docteur'] = "dites trente trois !";
    $_SESSION['patient'] = "J'ai faim !";
    $_SESSION['infirmiere'] = "";
    echo "test1 lancé:";
    print_r($_SESSION);
    ?>
    <br /><br /><br /><br />
    <a href="test2.php">Test2 pour voir</a>
    test2.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    session_start();
    echo "Le docteur a dit : ".$_SESSION['docteur']."<BR>";
    echo "Et le patient a répondu : ".$_SESSION['patient']."<BR>";
     
    if(empty($_SESSION['infirmiere']))
    {echo "L'infirmière n'a rien dit";
    }else{
    echo "L'infirmière a ensuite dit : ".$_SESSION['infirmiere']."<BR>";}
    ?>
    Si qqun peux m'expliquer mon erreur, ca serait cool
    Merci !

  2. #2
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    Bonjour.

    Est ce que ton session_start est bien placé avant toutes sorties html??? Même avant la balise <html>??

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Salut,

    oui, c'etait vraiment le debut du code que je t'avais affiché ...
    Mais j'ai résolu mon pbs, j'avais manqué de rigueur.

    Par contre j'ai un autre pbs qui me semble intérressant :

    J'ai un fichier inclus qui vient modifier ma variable $_SESSION.
    Et j'ai l'impression que ma page principale index.php conserve l'ancienne valeur, alors que la page incluse à bien la nouvelle.

    La preuve : a la fin du fichier index.php, un echo m'affiche une valeur de session, et l'écho du debut du fichier inclus m'affiche une autre valeur.

    D'ou ma question : si j'ai une page index.php qui contient un fichier inclus "A".
    En cliquant sur un lien on décharge "A" pour charger "B". Est ce que le fichier principal index.php est relus ?
    Je pensais que oui, mais apparemment non sinon comment expliquer ces 2 valeurs différentes ?


  4. #4
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    PHP reste un langage de script, lu de haut en bas, de gauche à droite....

    Si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $var="coucou";
     
    echo $var;
    //affiche coucou
     
    $var="coucoubis";
     
    echo $var;
    //affiche coucoubis
    //Affiche les 2 valeurs l'une en dessous de l'autre
    Et ca marche pareil pour les include : ca inclut la valeur ou fichier en lieu et place du include..... Si tu inclu dans un code de 100 lignes 4 fichiers de 100 lignes, ton fichier total fera 500 lignes....
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Ok, c'est ce que je pensais ...
    Du coup je ne comprend rien à ce qui se passe !

    Je suis en train de faire des test pour pouvoir poser des questions clairs ...
    A toute à l'heure

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Voila, j'ai fais mon exemple et je retombe sur le meme probleme.

    Le but est de faire varier mon menu en fonction de ma valeur de session !
    Et je sesche !! !

    Voici les fichiers tests :

    fichier test.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
    <?php
    session_start();
    ?>
    <!--ENTETE :-->
    <div style="background-color:yellow;"><p>La valeur de la session est :</p><?php echo $_SESSION['menu'];?></div>
     
    <!--MENU :-->
    <div style="float:left;width:180px;background-color:gray;">
     
    <?php
    if(!isset($_SESSION['menu']))
    {include("menuautre.php");}
     
     
    elseif($_SESSION['menu']== "menu1")
    {include("menu1.php");}
     
    elseif($_SESSION['menu']== "menu2")
    {include("menu2.php");}
    ?>
    </div>
     
    <div>
    <!--CORP DU SITE :-->
    <p>Et ceci est le corp du site</p>
    </div>
    fichier test2.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    session_start();
    $_SESSION['menu'] == "menu2";
    echo "La valeur de la session est : ".$_SESSION['menu'];
    ?>
    <!--CORPS DU TEXTE-->
    <p>Ceci est le bloc de la page "test2.php"</p>
    <p><a href="test.php">test.php</a></p>
    <p><a href="test3.php">test3.php</a></p>
    fichier test3.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    session_start();
    $_SESSION['menu'] = "menu2";
    echo "Maintenant la session vaut :".$_SESSION['menu'];
    ?>
    <!--CORPS DU TEXTE-->
    <p><a href="test.php">test.php</a></p>
    <p><a href="test2.php">test2.php</a></p>
    fichier menu1.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!--MENU 1-->
    <ul>
    <li><a href="test2.php">lien 1</a></li>
    <li><a href="test3.php">lien 2</a></li>
    <li>lien 3</li>
    <li>lien 4</li>
    </ul>
    fichier menu2.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!--MENU 2-->
    <ul>
    <li>redirection 1</li>
    <li>redirection 2</li>
    <li><a href="test2.php">redirection 3</a></li>
    <li><a href="test3.php">redirection 4</a></li>
    </ul>
    Vraiment désolé de faire le

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

Discussions similaires

  1. Utilisation des variables de session
    Par opensource dans le forum ASP.NET
    Réponses: 5
    Dernier message: 12/08/2007, 15h51
  2. Réponses: 1
    Dernier message: 03/04/2007, 12h02
  3. [WD9] Problème avec l'utilisation des threads
    Par ramaro dans le forum WinDev
    Réponses: 2
    Dernier message: 29/01/2007, 11h51
  4. Problème avec l'utilisation des VBO
    Par Ekinoks dans le forum OpenGL
    Réponses: 12
    Dernier message: 09/07/2006, 18h42
  5. [XSLT] Problème avec la portée des variables
    Par sheura dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 10/01/2006, 12h49

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