J'ai un problème avec la connexion/déconnexion d'utilisateurs.
Comme beaucoup d'autres sites, le mien fonctionne de la façon suivante:
Par défaut, l'utilisateur est non connecté, il accède à une version restreinte du site.
Il peut bien sûr se connecter, pour accéder au contenu correspondant à ses droits.
Il peut ensuite se déconnecter, pour accéder à nouveau à le version restreinte, et éventuellement se connecter avec un autre utilisateur.
Lorsqu'il se connecte, les fonction suivantes sont appelées:
Code : Tout sélectionner
if (!isset($_SERVER['PHP_AUTH_USER'])) {
unset($this->IdUtilisateur);
header('WWW-Authenticate: Basic');
header('HTTP/1.0 401 Unauthorized');
//echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation';
exit;
} Lorsequ'il se déconnecte:
Code : Tout sélectionner
// Destruction de session
$_SESSION = array(); // on efface le tableau
unset($_SERVER['PHP_AUTH_USER']);
session_destroy(); // on détruit le tableau réécrit(Pour débugger, j'affiche en haut de ma page l'id de session (session_id())).
La connexion marche bien, la déconnexion semble bien marcher aussi.
Par contre, si je me reconnecte une seconde fois, la session créée lors de ma première connexion est réutilisée.
Je croyais pourtant l'avoir définitivement détruite lors de la déconnexion.
La session est bien détruite lorsque, sous Firefox, j'efface les "Connexions actives" (via Ctrl+Shift+Supr).
Quelqu'un peut-il m'aider à comprendre? Merci par avance.