Bonjour,
J'aurai besoin d'un peu d'aide à propos de mon fichier de connexion.
En fait j'ai mon formulaire où les membres peuvent se connecter, mais ça ne fonctionne pas cela proviens du password hacher autrement ça fonctionne bien, mais je ne vois vraiment pas comment le résoudre.
J'insére dans ma BDD PhpMyadmin les membres avec le mot de passe en clair plus tard je ferai une partie Admin mais pour commencer je voudrais faire comme ça.
Je vous joint mon fichier de connexion si vous pouvez me venir en aide.
Je vous remercie beaucoup
<?php
//on teste si le visiteur a soumis le formulaire
if (!empty($_POST)){
//on vérifie si le login et password ne sont pas vide, nulle ou non définie
if (!empty($_POST['login']) && (!empty($_POST['pass']))){
$login = Security::clean($_POST['login']);
$pass = Security::clean($_POST['pass']);
$pass = Security::hash($pass);
//on sélectionne les champs que l'on veut récupèrer et on teste les champs login et password
$sql = ('SELECT *
FROM tb_adherent
WHERE login=:login
AND pass=:pass') or die(print_r($bdd->errorInfo()));
$requete = $bdd->prepare($sql);
//on execute la requète en lui transmettant la liste des paramètres
$requete->execute(array(
':login' => $login,
':pass' => $pass
));
//on affiche les reponses de la requète dans un tableau
$donnees = $requete->fetch();
//si le password est différent on met un message d'erreur
if ($donnees['pass'] != $pass){
echo "<span class='erreur_connexion'>Mauvais mot de passe...ou Mauvais login...Merci de recommencer.</br> Peut-être n'êtes vous pas membre de la Clique ?</br>Dans ce cas désolé...</span>";
//sinon
}else{
//on cré des variables accessibles depuis toutes les pages
$_SESSION['login'] = $login;
$_SESSION['id_adherent'] = $donnees['id_adherent'];
$_SESSION['nom'] = $donnees['nom'];
$_SESSION['prenom'] = $donnees['prenom'];
$_SESSION['adresse_mail'] = $donnees['adresse_mail'];
// Utiliser la redirection ---------------
redir("index.php?body=compte_profil&type=compte");
}
}else{
echo "<span class='erreur_connexion'>Veuillez remplir tous les champs !!!</span>";
}
}
?>
Voici la fonction
<?php
//Méthode de hachage pour le password
class Security{
const GRAIN = 'f?,j89-k0.;-!?lqjçs_di3%5a6_4jhfgh';
public static function hash($str){
return sha1(md5($str) . self::GRAIN . sha1($str . self::GRAIN) . $str);
}
public static function clean($str){
return htmlspecialchars(trim($str));
}
}
?>