fichier inscription.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/logs.css">
</head>
<body>
<form method="post">
<h1>Inscription</h1></br>
<input type="text" name="nom" id="nom" placeholder="nom" required></br></br>
<input type="text" name="prenom" id="prenom" placeholder="prenom" required></br></br>
<input type="text" name="tel" id="tel" placeholder="votre numero de telephone" required></br></br>
<select name="grade" id="grade" required>
<option value="candidat">Candidature milice</option>
<option value="Alias">Alias</option>
</select>
<input type="text" name="mail" id="mail" placeholder="mail valide" required></br></br>
<input type="text" name="pseudo" id="pseudo" placeholder="Pseudo" required></br></br>
<input type="text" name="password" id="password" placeholder="mot de passe" required></br></br>
<textarea type="text" name="motiv" id="motiv" placeholder="lettre de motivation" required></textarea></br></br>
<input type="submit" name="formsend" id="formsend" value="Envoyer la candidature">
</form>
<?php
include 'database.php';
global $db;
if(isset($_POST['formsend']))
{
extract($_POST);
if(!empty($password)){
$options = [
'cost' => 12,
];
$hashpass = password_hash($password, PASSWORD_DEFAULT, $options);
$q = $db->prepare("INSERT INTO `users`(`nom`,`prenom`,`tel`,`grade`,`mail`,`pseudo`, `password`, `motiv`) VALUES ('$nom','$prenom','$tel','$grade','$mail','$pseudo','$hashpass','$motiv') ");
$q->execute();
echo "Votre candidature est réalisee, un membre de la milice prendra contact avec vous";
?></br><a href="index.php">Retour à l'acceuil</a><?php
}
else {
$er = "vous n'avez pas été enregistré car vos mot de passe sont différents " ;
header("location: inscription.php?erreur=".$er);
}
}
?>
</body>
</html>
fichier log.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/logs.css">
</head>
<body>
<img src="img/images.jpg">
<form method="post">
<input type="text" name="pseudo" id="pseudo" placeholder="Identifiant" required></br></br>
<input type="text" name="password" id="password" placeholder="Password" required></br></br>
<input type="submit" name="formsend" id="formsend" value="Connection">
</form>
<a href="inscription.php">Postez une candidature</a></br>
<?php
session_start();
include 'database.php';
global $db;
if(isset($_POST['formsend']))
{
extract($_POST);
$hash_pass = password_hash($_POST["password"],PASSWORD_DEFAULT);
$q = $db->prepare("SELECT * FROM `users` WHERE `password` = :hash_pass");//Il est toujours mieux de spécifier les champs dont tu as besoin
$q->execute(['hash_pass' => $hash_pass]);
$result = $q->fetch();
$_SESSION['group']= $result['group'];
$_SESSION['nom']= $result['nom'];
$_SESSION['prenom']= $result['prenom'];
if($result == true)
{
if(password_verify($password, $hash_pass))
{
header('Location:menu.php');
}
else
{
echo "le mdp est incorrecte ou votre compte n est pas activé";
}
}
else {
echo "Le compte avec l identifiant : $password et $hash_pass n'existe pas ou vous n etes pas encore valide contactez un officier general";
}
}
?>
</body>
</html>
mon probleme est le suivant lors que j'affiche le mot de passe haché pouyr vérifier qu'il est bien celui inscrit dans la base de donnée je m'apercoit qu'ils sont différents et le log ne fonctionne donc pas.lez mot de passe de la base de donnée est $2y$12$SuXfc/nLvKz5rDcaoAzkYeGXIywFT3b6m6sP7YV2rjiiewl72AGDK alors que celui qui est recupéré par le log est $2y$10$GmwiAsJ0ZzkP1azCUskIoOdTp7KrZ0qTElDzBTVjozDXT4UkOc1dS il ne peux donc pas accepter que le client se log pour le pseudo et le mot de passe sont bien identique.
merci de votre aide.