salut, Je suis Samgi, jaimerais que quelqu'un me vienne en aide s'il vous plait.
voici mon problem:
j'ai créé un formulaire d'inscription pour un site web et j'ai crypté le mot passe avec password_hash, ça fonctionne normalement parceque les donnees sont enregistré dans la base comme je voulais et le mot de passe est vraiment crypté. cependant, personne ne peut pas connecté a la base apres son inscription parce que je ne sais pas comment pouvoir recuperer le mot de passe crypter en php/mysqli par le biais de mon formulair de connenxion.

est-ce que quelqu'un puisse m'aider svp en me disant comment recuperer le champ mot de passe crypter?
voici mes codes;

code de traitement du formulaire d'inscription:
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
<?php
    session_start();
	$error='';
    include 'database.php';
    if(isset($_REQUEST['submit'])){
        $user_firstname=$_REQUEST['fname'];
        $user_lastname=$_REQUEST['lname'];
        $user_username=$_REQUEST['username'];
        $user_email=$_REQUEST['email'];
        $user_password=$_REQUEST['password'];
		$user_confpass=$_REQUEST['confpass'];
//On vérifie que password et password2 sont identiques
		if($_POST["password"] == $_POST["confpass"]){
//On utilise alors notre fonction password_hash :
			$hash = password_hash($user_password, PASSWORD_DEFAULT);
			// encore plus secure
			//$hash = password_hash($password, PASSWORD_BCRYPT, array('cost' => 10));
			$sql="INSERT INTO user(fname,lname,username,email,password,confpass) VALUES('$user_firstname','$user_lastname','$user_username','$user_email','$hash','$hash')";
			mysqli_query($database,$sql) or die(mysqli_error($database));
			$_SESSION['login_user'] = $user_username;
			header('Location: membre.php?login_user='.$user_username);
		} else {
			$error = "Les deux mots de passe ne sont pas identiques.";
		}
    }
?>
code de traitement du formulaire de connexion:
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
<?php
/*
Page: login.php
*/
	session_start(); // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION
	$error=''; // Variable To Store Error Message
if(isset($_POST['submit'])) { // si le bouton "Connexion" est appuyé
    // on vérifie que le champ "username" n'est pas vide
    // empty vérifie à la fois si le champ est vide et si le champ existe belle et bien (is set)
    if(empty($_POST['username'])) {
        $error = "Le champ nom d'utilisateur est vide.";
    } else {
        // on vérifie maintenant si le champ "Mot de passe" n'est pas vide"
        if(empty($_POST['password'])) {
           $error = "Le champ Mot de passe est vide.";
        } else {
            // les champs sont bien posté et pas vide, on sécurise les données entrées par le membre:
            $username = htmlentities($_POST['username'], ENT_QUOTES, "utf-8"); // le htmlentities() passera les guillemets en entités HTML, ce qui empêchera les injections SQL
            $MotDePasse = htmlentities($_POST['password'], ENT_QUOTES, "utf-8");
            //on se connecte à la base de données:
            $mysqli = mysqli_connect("Serveur", "utilisateur", "motdepass", "ma base");
            //on vérifie que la connexion s'effectue correctement:
            if(!$mysqli){
                $error = "Erreur de connexion à la base de données.";
            } else {
                // on fait maintenant la requête dans la base de données pour rechercher si ces données existe et correspondent:
                $Requete = mysqli_query($mysqli,"SELECT * FROM user WHERE username = '".$username."' AND password = '".$MotDePasse."'");
                // si il y a un résultat, mysqli_num_rows() nous donnera alors 1
                // si mysqli_num_rows() retourne 0 c'est qu'il a trouvé aucun résultat
                if(mysqli_num_rows($Requete) == 0) {
                    $error = "Le nom d'utilisateur ou le mot de passe est incorrect, le compte n'a pas été trouvé.";
                } else {
                    // on ouvre la session avec $_SESSION:
                    $_SESSION['login_user'] = $username; // la session peut être appelée différemment et son contenu aussi peut être autre chose que le username
					header("location: membre.php"); // Redirecting To Other Page
 
            }
        }
    }
}
}
?>
NB: je ne peux pas comparer le mot de passe entrer par l'utilisateur avec celui qui est chiffré dans la base. comment puis-je faire svp?