md5 récupération de mot de passe

j'ai fait un formulaire d'inscription et un formulaire de connexion.

j'ai utilisé d'abord utilisé trim() et puis md5() pour stocker le mot de passe dans la base de données.

j'ai utilisé le même pour vérifier le mot de passe dans la base de données dans le formulaire de connexion, mais pour une raison inconnue, je ne peux pas correspondre au mot de passe md5 à partir du formulaire de connexion.

Tout ce que je veux, c'est récupérer le mot de passe de la base de données.

Le problème est quand je le stocker dans la base de données et vérifier dans le php myadmin le md5 du mot de passe est quelque chose comme 123456789 et quand je reprends l'avais dans le formulaire de connexion, il me donne cette 1234567890. un zéro à la fin tht zéro est la création du problème sinon, tout le md5 du mot de passe est mis en correspondance. mon classement de base de données est latin_1_swedish_ci.

est-il un classement problème ?

je hv utilisé valeur varchar 255 texte etc. mais pas de solution.

est-il un problème dans le format ou la structure ?

merci de m'aider à récupérer le mot de passe md5 correctement éliminer les indésirables zéro .

function login()

    {
        if(isset($_POST['login']))
        {
            if(!$_POST['username'] || !$_POST['password'])
                {die (mysql_error());}

            else
            {
                $username = trim($_POST['username']);
                $username = addslashes($_POST['username']);

                $password = trim($_POST['password']);
                $password = md5($_POST['password']);
                echo $password;


                $check_username = mysql_query("SELECT * FROM users WHERE username = '".$username."'")or die(mysql_error());
                $check_username2 = mysql_num_rows($check_username);

                if ($check_username2 == 0)
                    {die ("Username and password doesnt exist");}
                else 
                    {
                        $check_pass = mysql_query("SELECT * FROM users WHERE username = '".$password."'")or die(mysql_error());
                        $check_pass2 = mysql_num_rows($check_pass); 
                        echo $check_pass2;
                    }


            }
        }
    }

et

function register()

    {
        if(isset($_POST['submit']))
        {
            if(!$_POST['first_name'] || !$_POST['last_name'] || !$_POST['username'] || !$_POST['password'])
                {header ("Location:user_registration.php");}

            else
                {
                    $firstname = trim($_POST['first_name']);
                    $firstname = addslashes($_POST['first_name']);
                    $lastname = trim($_POST['last_name']);
                    $lastname = addslashes($_POST['last_name']);
                    $username = trim($_POST['username']);
                    $username = addslashes($_POST['username']);
                    $password = trim($_POST['password']);
                    $password = md5($_POST['password']);

                    connect();

                    if($mysql_check_user = mysql_query("SELECT * FROM  `users` WHERE  `username` LIKE  '$username' "))
                        {
                            $check_row = mysql_num_rows($mysql_check_user);
                            if($check_row > 0)
                            die ("username Exist");
                            else 
                                {
                                    $store = mysql_query
                                            ("INSERT INTO `project_upload`.`users` 
                                            (`id`, `fname`, `lname`, `username`, `password`) 
                                     VALUES (NULL, '$firstname', '$lastname', '$username', '$password')");

                                }
                            if ($store)
                                {echo "You have regstered succesfully. please go to <a href = 'uploads_login.php'>login page</a>";                                          }   
                            else {echo mysql_error();}

                        }
                }
        }
    }
  • Pourquoi sur la Terre avez-vous utilisé trim() sur un mot de passe?
  • Pourriez-vous s'il vous plaît poster le code que vous utilisez pour la récupération et le stockage des mots de passe?
  • Êtes-vous sûr que le zéro sort à partir de la base de données et n'est pas repris par d'autre chose dans votre code?
  • Si c'est juste un Zéro, pourquoi ne pas le couper et match ?
  • Sans les exemples de code, nous ne pouvons que deviner ce qui ne va pas, plutôt que de fournir une solution à votre problème. Pourriez-vous poster une partie de votre code avec la question?
  • Le trim() résultat se jette pas, donc ce n'est pas le problème. La deuxième SELECT déclaration dans login() est à la recherche d'un utilisateur dont le nom est md5($_POST['password']), ce qui semble mauvais pour moi. Aussi, MD5 ne retourne jamais un 9 ou 10 caractères chaîne de caractères. En bref - c'est impossible de voir ce qui se passe ici...
  • "récupérer le mot de passe de la base de données" n'est pas une bonne façon de décrire ce que vous faites. Juste pour dire.
  • Le problème, c'est votre mysql-query, vérifier ma réponse.

InformationsquelleAutor user1110597 | 2012-01-03