Bonjour à tous,
grand utilisateur du forum, j'ai toujours trouvé une solution à mes problèmes mais la je coince,
je sollicite donc pour la première fois votre aide sur un problème que j'ai en ce moment.
(à noter que je suis très débutant en PHP/Mysql)
Voilà, je suis entrain de faire un site assez simple en soit puisque je propose une page d'inscription, un page login et une page profil.
Ce que je voudrais faire est que lorsqu'un utilisateur se connecte on ne puisse pas se connecter en même temps avec les mêmes identifiants.
Pour ça dans ma Bdd j'ai rajouté un champs "Connecter", donc quand on se connecte le champs "Connecter" passe de 0 à 1 et on est dirigé vers son profil, jusque la tout va bien.
Mon problème est lorsqu'on est donc connecté à son profil, quand on se déconnecte ou quitte la page ou navigateur, impossible de modifier le champs Connecter de 1 à 0.
je vous poste mon code ça sera plus clair.
Ma page Login
A ce moment si le mot de passe correspond... on est redirigé vers son profil dont voici le code, et c'est la que je bloque
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php header('Content-type: text/html; charset=UTF-8'); ?> <? // Données générales sur le serveur SQL ... // Se conneter au serveur et sélectionner la base de donnée a utiliser mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // pensez a ouvrir une connexion vers mysql ici // voir les exercices dans le menu de droite pour cela. if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) { extract($_POST); // on recupère le password de la table qui correspond au login du visiteur $sql = "select password,actif from table where Username='".$login."'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['password'] != $pass) { include('include.php'); // On inclut le formulaire d'identification exit; } elseif($data['actif'] != 1) { include('includeactif.html'); // On inclut le formulaire d'identification exit; } else { session_start(); $_SESSION['login'] = $login; $sql2 = "UPDATE table SET Connecter = 1 WHERE Username='".$login."'"; $req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error()); } ?> <meta charset="UTF-8"> <div class="message">vous etes bien connecté<br /> <meta http-equiv="refresh" content="0;URL=profil.php"> <? // vers la page d'accueil de votre espace membres } } else { include('include.php'); // On inclut le formulaire d'identification exit; } ?>
Ma page Profil:
Merci beaucoup par avance pour votre aide.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <? header('Content-Type: text/html; charset=utf-8'); session_start(); /* si la variable de session login n'existe pas cela siginifie que le visiteur n'a pas de session ouverte, il n'est donc pas logué ni autorisé à acceder à l'espace membres */ if(!isset($_SESSION['login'])) { echo 'Vous n\'êtes pas autorisé à acceder à cette zone'; include('login.html'); exit; } ?> <html> <body> </body> </html> <? //pour la clôture : session_unset(); //efface les variable session session_destroy();//détruit la session $_SESSION = null;//histoire d'être sûre ?>
Partager