probleme de session

Eléphant du PHP | 294 Messages

22 oct. 2008, 09:25

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

Eléphant du PHP | 139 Messages

22 oct. 2008, 09:56

As tu vérifié que quand tu fais un simple echo il y a bien un session_start avant ?

Eléphant du PHP | 294 Messages

22 oct. 2008, 10:14

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

Mammouth du PHP | 1339 Messages

22 oct. 2008, 11:53

Fais un print_r($_SESSION) à divers endroits de ta page savoir ou se pert cette variable.
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 99 Messages

22 oct. 2008, 13:49

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
}
?>