Bonjour
Je cherche comment effacer des variables de session et de serveur dans une opération de déconnexion et ça ne marche pas du tout malgré pas mal de temps à consulter les docs et les messages.
J'effectue l'identification suivante :
Quand l'utilisateur se déconnecte je lance le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 session_start(); if (! isset($_SERVER['PHP_AUTH_USER']) || ! isset($_SERVER['PHP_AUTH_PW']) || ($_SERVER['PHP_AUTH_USER'] != "r") || ($_SERVER['PHP_AUTH_PW'] != "r")) { header('WWW-Authenticate: Basic realm="l\'accès à l\'administration du site"'); header('HTTP/1.0 401 Unauthorized'); echo "Accès non autorisé"; exit(); } // création d'un variable de session $_SESSION['utilisateur'] = "Ok"; header("Location: Admin.php");
Malheureusement mes variables ne semblent pas effacées. quand je relance l'identification $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'] et $_SESSION['utilisateur'] existent toujours et je ne repasse pas par la fenêtre d'identification.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 session_start(); $_SESSION = array(); //Ecrase les variables de sessions en recréant un tableau vide $_SESSION['utilisateur'] = "No"; if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } session_destroy(); $_SERVER['PHP_AUTH_USER'] = ""; $_SERVER['PHP_AUTH_PW'] = ""; unset($_SERVER['PHP_AUTH_USER']); unset($_SERVER['PHP_AUTH_PW']); header("Location: Index.php");
Quelqu'un aurait-il une idée de ce qui ne va pas dans mon code ou ma façon de procéder ?
Merci
Partager