Formulaire de connexion [Résolu/Fermé]

Signaler
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
-
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
-
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

Messages postés
30
Date d'inscription
jeudi 24 juillet 2014
Statut
Membre
Dernière intervention
24 juillet 2014
4
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.
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
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
5
Bonjour
Merci tout fonctionne maintenant oui une erreur de ma part.
Merci
Messages postés
657
Date d'inscription
dimanche 24 août 2008
Statut
Membre
Dernière intervention
24 juillet 2016
5
Bonjour
Je ne comprends pas ta réponse ou peut-être je me suis mal expliqué.
Merci