Formulaire de connexion

Résolu/Fermé
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 24 juil. 2014 à 23:12
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 - 27 juil. 2014 à 08:54
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));
    }
}
?>

4 réponses

Yoyuka Messages postés 30 Date d'inscription jeudi 24 juillet 2014 Statut Membre Dernière intervention 24 juillet 2014 5
24 juil. 2014 à 23:22
Sur un serveur de jeux donc. On dirais un serveur Metin2 ? je me trompe si c'est sa je peut t'aidez Via Skypê sa iras plus vite.
0
Dans ta question tu dis que tu stock ton mot de passe en clair dans la base mais dans ta requête tu envoie le hash du mot de passe saisi, ta requête ne pourra jamais aboutir
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
27 juil. 2014 à 08:54
Bonjour
Merci tout fonctionne maintenant oui une erreur de ma part.
Merci
0
labourette Messages postés 657 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 24 juillet 2016 6
25 juil. 2014 à 00:33
Bonjour
Je ne comprends pas ta réponse ou peut-être je me suis mal expliqué.
Merci
-1