Bonjour,
j'ai créé un forum avec évidemment une connexion. Dans la page principale, je teste la connexion pour n'afficher des actions (style modifier ou supprimer) que si on est connecté (et l'auteur du post). J'ai aussi un bouton "se déconnecter". Pour mémoriser la connexion, je préfère utiliser une bdd MySQL que un cookie, pour le cas où l'utilisateur les a désactivés. Donc j'ai une table "login" avec notamment les champs "login" et "connecte", et sur le bouton "se déconnecter", on remet à 0 le champ "connecte" :
(je suis conscient que ce code n'est pas optimisé, mais il fonctionne (j'espère)).
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $sql="select connecte from `login`"; $result=$id_conn->prepare($sql); $result->execute(); while ($res=$result->fetch()) { $sql="update `login` set `connecte`=0"; $result1=$id_conn->prepare($sql); $result1->execute(); } echo "Vous êtes déconnecté";
Et sur la page principale, je teste cette information :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $login=((isset($_COOKIE["login"]))?$_COOKIE["login"]:$_SESSION['login']); $sql="select connecte from `login` where login='".$login."'"; if ($login=="") $count=0; else { $result = $id_conn->prepare($sql); $result->execute(); $count = $result->rowCount(); } $connecte=($count==0)? 0:1; echo "connecte=".$connecte." count=".$count." login=".$login."<br/>";
et il se trouve que même après une déconnexion ("Vous êtes déconnecté" est bien affiché), dans la page principale, on est encore vu comme connecté ; comment débuguer cela ?
Partager