Bonjour à tous,
Voici j'ai un petit souci sur mon code que je n'arrive pas à m'expliquer.
Il s'agit d'un formulaire de connexion avec vérification des entrées de l'utilisateur avant l'envoi.
Et j'ai un souci au niveau des vérification.
Je check tout d'abord si il n'y a pas de champ vide (ça, ça marche), ensuite si ma requête obtient une réponse ou pas dans la base avec le login/password et c'est là qu'il y a un souci car si un mauvais login ou mot de passe est entrée je tombe sur une page blanche au lieu du message d'erreur, en revanche tout fonctionne si le login/password est bon.
Voici mon code :
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 <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Impossible de se connecter : " . mysql_error()); if(isset($_POST[''connexion]) && $_POST['connexion'] == 'Connexion'){ if(!empty($_POST['login']) && !empty($_POST['login'])){ //si une entrée de la base contient login / pass $mysql_result = mysql_query("SELECT login, groupe, nom, prenom, password FROM users WHERE login='".mysql_real_escape_string($_POST['login'])."' AND password='".mysql_real_escape_string($_POST['password']."'"); $nbUsers = mysql_num_rows($mysql_result) or die(mysql_error()); $ligne = mysql_fetch_array($mysql_result) or die(mysql_error()); mysql_close; // si oin obtient une réponse if($nbUsers > 0){ session_start(); $_SESSION['login'] = $ligne[0]; $_SESSION['groupe'] = $ligne[1]; $_SESSION['nom'] = $ligne[2]; $_SESSION['prenom'] = $ligne[3]; header('Location: index.php?page=Accueil'); exit(); } else{ $errreur = 'Login ou mot de passe incorrect.'; } } else{ $erreur = 'Au moins un de ces champs est vide.'; } } ?> <form action="index.php?page=log" method="POST" name="log"> <table> <tr> <td>Login</td> <td><input type="text" name="login" /></td> </tr> <tr> <td>Mot de passe</td> <td><input type="password" name="password" /></td> </tr> <tr> <td colspan="2"> <div><?php if(isset($erreur)) echo $erreur; ?></div> <td> </tr> </table> </form>
Partager