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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
if(session_status()==PHP_SESSION_ACTIVE) {
    session_destroy();
}
puis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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();
-> 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 : 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();
}
Merci pour vos réponses.