Bonjour,
J'ai un souci avec des sessions PHP dans mon projet de site personnel.
Dans l'index.php, dans le cadre de tests et afin de toujours avoir une version "vierge" de la page lors de son rechargement, je teste si une session existe et la détruit, puis en créé une nouvelle, comme ceci:
puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(session_status()==PHP_SESSION_ACTIVE) { session_destroy(); }
Lors de ma première utilisation de la page, je connecte un utilisateur et stocke son pseudo dans $_SESSION['utilisateur']. Lorsque je recharge la page, par contre, l'utilisateur est toujours connu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(session_status()==PHP_SESSION_NONE) { session_start(); }
J'exécute ce code, pour voir ce qui en sort:
-> Le session_status me renvoie 1, soit PHP_SESSION_NONE (il n'y a donc pas de session ouverte au rechargement de la page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 echo session_status(); if(session_status()==PHP_SESSION_ACTIVE) { session_destroy(); } if(session_status()==PHP_SESSION_NONE) { session_start(); } echo $_SESSION['utilisateur']->getPseudo();
-> $_SESSION['utilisateur']->getPseudo(); me renvoie le bon pseudo
Donc je dois mal m'y prendre.
La seule solution viable semble être de tester si aucune session n'est ouverte, la créer puis la détruire et ensuite en recréer une, qui sera vierge. J'ai bon?
Merci pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(session_status()==PHP_SESSION_NONE) { session_start(); session_destroy(); session_start(); }
Partager