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 :mais il continue d’exécuter le script. Chose qui ne devrait pas vu que ça ne correspond pas avec la base de donnée.Warning: mysqli_prepare() expects exactly 2 parameters, 1 given in C:\Users\Bryan\Desktop\Logiciel\verif.php on line 21.
index .php
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 <?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 : 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 <?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!
Partager