Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2006, 10h23   #1
Invité régulier
 
Inscription : mai 2005
Messages : 33
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 33
Points : 7
Points : 7
Envoyer un message via MSN à Pallas4
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 :
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 :
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
Pallas4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 11h18   #2
Membre habitué
 
Avatar de SOAD08
 
Inscription : juillet 2004
Messages : 101
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : juillet 2004
Messages : 101
Points : 104
Points : 104
Envoyer un message via MSN à SOAD08 Envoyer un message via Skype™ à SOAD08
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
SOAD08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 11h26   #3
Invité régulier
 
Inscription : mai 2005
Messages : 33
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 33
Points : 7
Points : 7
Envoyer un message via MSN à Pallas4
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)
Pallas4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2006, 13h30   #4
Membre éclairé
 
Inscription : décembre 2004
Messages : 658
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 658
Points : 317
Points : 317
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.
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 01h10   #5
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
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 ?
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 10h45   #6
Invité régulier
 
Inscription : mai 2005
Messages : 33
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 33
Points : 7
Points : 7
Envoyer un message via MSN à Pallas4
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
Pallas4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 13h39   #7
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
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°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 14h22   #8
Invité régulier
 
Inscription : mai 2005
Messages : 33
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 33
Points : 7
Points : 7
Envoyer un message via MSN à Pallas4
oulah je ne savais pas ça oO

Merci, ça m'évitera de refaire ces erreurs à l'avenir.
Pallas4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 14h26   #9
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
regarde à la fin de ce topic... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h18.


 
 
 
 
Partenaires

Hébergement Web