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>