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 :

$_SESSION et dossiers


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut $_SESSION et dossiers
    Bonjour

    J'ai un problème avec les sessions.
    À la racine du site, j'ai une variable $_SESSION['titre'] qui est initialisée. Elle contient la valeur 'pallas4'. jusque là ça va. Ensuite j'ai un fichier index.php qui se trouve dans : /blog/pallas4/ ce fichier contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    echo $_SESSION['titre'];
    include("http://127.0.0.1/Pallas4/blog.php?adr=Pallas4");
    ?>
    Là la page commence par afficher pallas4. Normal.
    sauf que dans le fichier blog.php, impossible d'avoir accès à cette variable.

    En effet si le fichier blog.php commence par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    session_start();
    ?>
    Alors il est simplement dit que 'titre' est un index inconnu.

    Et si j'ôte le session_start() (de blog.php, je le laisse dans blog/pallas4/index.php)
    Là il ne reconnaît plus la variable _SESSION...

    Je suis perdu, quelqu'un a une idée ?
    Merci

  2. #2
    Membre régulier
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    la page inclue ne doit pas comporter session_start();

    Cette fonction est un header, elle envoie des informations sur le contenue de la page au navigateur, or la tu en envoie alors que le navigateur les a deja, c'est surement ça qui merde.

    En esperant t'aider

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    mais si je retire le session_start, la page inclue justement ne reconnaît plus la variable $_SESSION. Alors que si je le laisse, il reconnaît la variable mais pas l'index 'titre' (pourtant initialisé et utilisé sans pb dans d'autres pages du site)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Alors la c'est un probleme de conception.

    Je sais pas ce que tu veux faire mais en tout cas c'est pas comme ca.

    Comme c'est dis session_start(); doit quoiqu'il arrive etre en premiere ligne de ton ficher et donc par la meme ne pas etre dans une page include ce qui est le cas pour toi.

  5. #5
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut

    Là, tu vas droit au mur… je résume :

    $_SESSION[‘titre’] est associée à pallas4

    Tu as un fichier index qui se trouve dans /blog/pallas4 =>> soit un répertoire qui porte le même nom que ta variable de session.

    Ensuite, tu as un include d’un fichier blog.php, qui lui cette fois se trouve dans un répertoire Pallas4.

    Et enfin, tu passes une variable à ton fichier blog. Php qui se nomme Pallas4.

    T’as pas peur des conflits ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Bah comme ce n'est pas la même chose entre les dossiers et les variables :p
    M'enfn au cas où je vais changer de principe.
    Merci

  7. #7
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Le problème c'est que ton include est un include http (pas bon) résultat tu inclu le code html renvoyé par le serveur et non pas du php... .. .

    @ tchaOo°

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    oulah je ne savais pas ça oO

    Merci, ça m'évitera de refaire ces erreurs à l'avenir.

  9. #9
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    regarde à la fin de ce topic... .. .

    @ tchaOo°

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

Discussions similaires

  1. Que doit contenir un dossier de programmation ?
    Par b30ff dans le forum Débats sur le développement - Le Best Of
    Réponses: 11
    Dernier message: 26/06/2004, 20h09
  2. Verifier qu'un dossier existe (batch)
    Par kakou dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 08/01/2003, 14h46
  3. Réponses: 4
    Dernier message: 07/12/2002, 16h24
  4. Comment vider un dossier ?
    Par Zinoc dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/06/2002, 15h14
  5. Permission sur un dossier
    Par Bjorn dans le forum C
    Réponses: 6
    Dernier message: 25/06/2002, 13h56

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