Страница входа не может аутентифицировать мой пароль - PullRequest
0 голосов
/ 02 апреля 2020

Мне трудно аутентифицировать свои учетные данные для входа на странице входа, которую я создал. Кажется, он не может распознать пароль, который я создал для своих учетных записей. Он подтверждает, что учетная запись существует, но не соответствует введенному паролю и сохраненному хэш-паролю.

<?php

 include('config.php');
 session_start();

 if (isset($_POST['Login'])) {

     $username = $_POST['username'];
     $user_password = $_POST['user_password'];

     $query = $connection->prepare("SELECT * FROM user_info WHERE USERNAME=:username");
     $query->bindParam("username", $username, PDO::PARAM_STR);
     $query->execute();

     $result = $query->fetch(PDO::FETCH_ASSOC);

     if (!$result) {
         echo '<p class="error">Username password combination is wrong!</p>';
     } 
     else {
        echo 'here';
        echo $user_password;
        echo $result['user_password'];

         if (password_verify($user_password, $result['user_password'])) {
             $_SESSION['user_id'] = $result['ID'];
             echo '<p class="success">Congratulations, you are logged in!</p>';
         } else {
             echo '<p class="error">Username password combination is wrong! 2</p>';
         }
     }
 }

 ?>

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Решением было то, что мне пришлось настроить длину переменной пароля. Первоначально было 20, и, очевидно, когда у вас есть sh пароль, длина значительно больше. Поэтому я просто изменил длину пароля на 255.

0 голосов
/ 02 апреля 2020

password_verify нуждается в га sh. Возможно, ваш второй параметр этой функции - простой пароль или что-то в этом роде. Это выше работает отлично:

$hash = password_hash('test1234', PASSWORD_DEFAULT);
print_r(password_verify('test1234', $hash));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...