Page 1 sur 1

probleme de session

Posté : 22 oct. 2008, 09:25
par Gico
Bonjour, un problème inédit pour moi. J'ai une variable de session qui est bien crée, je le verifie dans l'entête:

if (!session_id()) session_start();
if(!isset($_SESSION["kt_Pseudo"]))     {
  echo "no";
} else{echo $_SESSION["kt_Pseudo"];}

ce code m'affiche le Pseudo

mais lorsque je fais bêtement un
echo $_SESSION["kt_Pseudo"] 
dans le corps html, rien ne s'affiche !

merci

Posté : 22 oct. 2008, 09:56
par Vurtu
As tu vérifié que quand tu fais un simple echo il y a bien un session_start avant ?

Posté : 22 oct. 2008, 10:14
par Gico
et bien il y a déjà au moins celui du code de l'entête, puisqu'il m'affiche la session correctement, je ne vois pas ou je pourrais en rajouter un autre, d'autant que j'ai d'autres variables de session qui s'affiche correctement. Mais le probleme est vraiment celui là : je ne peux afficher un écho de cette variable dans le corps de la page. Si je fais ça dans l'entête:
if (!session_id()) session_start();
if(isset($_SESSION["kt_Pseudo"])){
 $test= $_SESSION["kt_Pseudo"];}
un echo sur $test me donne la bonne valeure, je deplace ce code dans la page et ça marche plus !
je comprend pas

Posté : 22 oct. 2008, 11:53
par Elie
Fais un print_r($_SESSION) à divers endroits de ta page savoir ou se pert cette variable.

Posté : 22 oct. 2008, 13:49
par crash
if (!session_id()) session_start();
if(!isset($_SESSION["kt_Pseudo"]))     {
  echo "no";
} else{echo $_SESSION["kt_Pseudo"];} 
c'est normal que ça n'affiche pas dans toute ta page car tu as referme directement l'accolade du else "}" l'accolade doit ce terminer en fin de page :)

donc :

if (!session_id()) session_start();
if(!isset($_SESSION["kt_Pseudo"]))     {
  echo "no";
} else{
?>
le contenue de ta page html

et en dessous du </html> mettre ceci :
<?php
}
?>