Comportement étrange de session
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:
Code:
1 2 3 4
|
if(session_status()==PHP_SESSION_ACTIVE) {
session_destroy();
} |
puis
Code:
1 2 3 4
|
if(session_status()==PHP_SESSION_NONE) {
session_start();
} |
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.
J'exécute ce code, pour voir ce qui en sort:
Code:
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(); |
-> Le session_status me renvoie 1, soit PHP_SESSION_NONE (il n'y a donc pas de session ouverte au rechargement de la page
-> $_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?
Code:
1 2 3 4 5 6
|
if(session_status()==PHP_SESSION_NONE) {
session_start();
session_destroy();
session_start();
} |
Merci pour vos réponses.