je suis en train de coder ma page pour vérifier que le mot de passe et le pseudo transmis lors de la tentative de connexion correspondent a des identifiants existants.
mais a chaque fois je tombe sur mon message d'erreur :
qui pourrais m'aider a résoudre ce soucis ?
merci d'avance
<?php
$options = [
'cost' => 12,
];
// on teste si nos variables sont définies
if (isset($_POST['login'] ,$_POST['pass']))
{
$login= $_POST['login'];
$pass=$_POST['pass'];
// on crypte le mot de passe
$pass_crypte = password_hash($pass, PASSWORD_BCRYPT, $options);
// on verifie le cryptage
if (password_verify($pass, $pass_crypte))
{
// Récupération des informations du fichier blocnote (fichier txt).
$data = array(); // Tableau qui contiendra les données de façon structurée.
$fileHandle = fopen("../../../txt/Fichier_user.txt", "r+"); // Ouverture du fichier "blocnote.txt"
if ($fileHandle)
{
while (($buffer = fgets($fileHandle, 4096)) !== false)
{ // Lecture des lignes du fichier, une par une.
list($nom, $prenom, $adresse, $bday, $mail, $mot_de_passe_crypte, $liste, $sexe) = explode('|', $buffer);
// Séparation des données de la ligne en cours en fonction du caractère "|".
$data = array('nom'=>$nom, 'prenom' => $prenom,'bday' => $bday, 'mail' => $mail,'mot_de_passe_crypte' => $mot_de_passe_crypte, 'liste' =>$liste, 'sexe' =>$sexe);
// Ajout d'un tableau dans notre tableau de données contenant le joueur et les prenom.
// On définit un login et un mot de passe de base pour tester notre exemple. Cependant, vous pouvez très bien interroger votre base de données afin de savoir si le visiteur qui se connecte est bien membre de votre site
$data['nom'];
$data['mot_de_passe_crypte'];
// on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe
if (hash_equals($data['nom'] , $login) && hash_equals( $data['mot_de_passe_crypte'] , $pass_crypte))
{
// dans ce cas, tout est ok, on peut démarrer notre session
// on la démarre
session_start ();
// on enregistre les paramètres de notre visiteur comme variables de session ($login et $pass) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
$_SESSION['login'] = $_POST['login'];
$_SESSION['pass_crypte'] = $pass_crypte;
// on redirige notre visiteur vers une page de notre section membre
header ('location: page_membre.php');
}
else
{
// Le visiteur n'a pas été reconnu comme étant membre de notre site. On utilise alors un petit javascript lui signalant ce fait
echo '<body onLoad="alert(\'Membre non reconnu...\')">';
// puis on le redirige vers la page d'accueil
echo '<meta http-equiv="refresh" content="0;URL=../acceuil.php">';
}
}
fclose($fileHandle);
// fermeture du fichier
}
}
else
{
echo 'Le mot de passe est invalide.';
}
}
else
{
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?>
mais a chaque fois je tombe sur mon message d'erreur :
else
{
// Le visiteur n'a pas été reconnu comme étant membre de notre site. On utilise alors un petit javascript lui signalant ce fait
echo '<body onLoad="alert(\'Membre non reconnu...\')">';
// puis on le redirige vers la page d'accueil
echo '<meta http-equiv="refresh" content="0;URL=../acceuil.php">';
}
qui pourrais m'aider a résoudre ce soucis ?
merci d'avance