Bonjour,
Je suis actuellement entrain de développer un site web perso et j'ai quelques problème avec le login.
J'ai une erreur qui apparaît lorsque j'essaye de me connecter avec login: 1 et mdp:1 (le login existe mais c'est le mauvais mdp). J'ai fais exprès de ne pas mettre le bon afin de savoir se que me retournait le formulaire. Mais du coup, il me met :
	
	
		
		
Warning: mysqli_prepare() expects exactly 2 parameters, 1 given in C:\Users\Bryan\Desktop\Logiciel\verif.php on line 21.
			
		
	
 mais il continue dexécuter le script. Chose qui ne devrait pas vu que ça ne correspond pas avec la base de donnée.
index .php
	
	
verif.php
	
	
Merci de votre aide!
Je suis actuellement entrain de développer un site web perso et j'ai quelques problème avec le login.
J'ai une erreur qui apparaît lorsque j'essaye de me connecter avec login: 1 et mdp:1 (le login existe mais c'est le mauvais mdp). J'ai fais exprès de ne pas mettre le bon afin de savoir se que me retournait le formulaire. Mais du coup, il me met :
Citation:
Warning: mysqli_prepare() expects exactly 2 parameters, 1 given in C:\Users\Bryan\Desktop\Logiciel\verif.php on line 21.
index .php
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 <?php
session_start();
if(isset($_SESSION['ouvert'])) 
{ 
header ('location: accueil.php');
} 
?>
<html>
	<head>	<title>Login</title>
	</head>
<body>
	<form action="verif.php" method="POST">
		Votre login: <input type="text" name="login">
		<br />
		Votre password: <input type="password" name="pwd">
		<input type="submit" value="Connexion">
	</form>
	
	
</body>
</html>
verif.php
Code:
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
53
54
55
56
57
58
59
60
61
62
63
64
 <?php
// Je me connecte à la base de données
$mysqli = new mysqli("localhost", "root", "1", "user");
	if ($mysqli->connect_errno) {
		echo "Echec lors de la connexion à MySQL : (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
	}
 
//Sécurisation des données saisies
$login = htmlspecialchars($_POST['login']);
$password = htmlspecialchars($_POST['pwd']);
//On vérifie que le login existe dans la table
$result = mysqli_query($mysqli,"SELECT * FROM user where login = '$login'"); 
if ($result->num_rows == 1){ 
		//login existant
		//Selection du password pour le login saisi
		$reponse_login = mysqli_query($mysqli,'SELECT pwd FROM user WHERE login = '.$login.' LIMIT 1');
  
		if ($stmt = mysqli_prepare($reponse_login)) {
				/* Exécution de la requête */
				mysqli_stmt_execute($stmt);
				/* Association des variables de résultat */
				mysqli_stmt_bind_result($stmt, $name, $code);
				/* Lecture des valeurs */
				$pwd=(mysqli_stmt_fetch($stmt)) ;
      
				/* Fermeture de la commande */
				mysqli_stmt_close($stmt);
		}
 
		//Je vérifie que le mot de passe correspond
		//Si le mot de passe est hashé dans la bdd, il faut appliquer ce hashage à $password dans la vérification ci-dessous
		if ($password == $pwd){
		
				echo '<script language="JavaScript">alert("Mauvais login!");</script>';
				//echo '<meta http-equiv="refresh" content="0; URL=index.php">';;
		} 
		else{ 
				// La suite de mon code qui y sera après que je n'ai plus d'erreur et pour l'instant c'est :
				echo "Ouais!!!!!! J'ai plus d'érreur!!!! ( C'EST BEAU LES REVES !) " ;
		
				session_start ();
				// on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) 
				$_SESSION['login'] = $_POST['login'];
				$_SESSION['pwd'] = $_POST['pwd'];
				$_SESSION['ouvert']=true; 
 
				// on redirige notre visiteur vers une page de notre section membre
				//header ('location: accueil.php'); 
		}
}
else{ 
		echo '<script language="JavaScript">alert("Mauvais login!");</script>';
		//echo '<meta http-equiv="refresh" content="0; URL=index.php">';; 
}
Merci de votre aide!
Un vrais plaisir de vous lire avec cette article, je vous remercie grandement !!!
RépondreSupprimer