Я не могу получить пароль, введенный в соответствии с хешированным паролем, используя PHP 5.5

Этот вопрос отмечен как дубликат, и я не верю, потому что я не нашел решений, которые бы мне помогли; но ответ отметил о проводке ошибки - этот вопрос ничего общего с синтаксическими ошибками код не считает; просто: Как получить хранимая Хешированное пароль, чтобы соответствовать пароль введен вниз по дороге на экране входа в систему?

Я использую PHP 5.5.9 и вот моя информация базы данных:

Apache / 2.4.7 (Ubuntu) Версия клиента базы данных: libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $

Тип сервера: MySQL Server version: 5.5.44-0ubuntu0.14.04.1 - (Ubuntu)

Расширение PHP: MySQLi

Я начинаю с того, что говорю, что я даже новичок (даже не nOOb, и я начинаю с MySQLi. Я знаю о PDO, но это та форма скелета, которую я сейчас использую для экрана входа в систему). и это были дни, когда я терял все больше и больше волос.

Любые советы по следующим вопросам будут очень, очень благодарны и заранее благодарны.

Я не могу получить совпадающие пароли (пользователи вставляются в базу данных, используя этот код: --->)

    $password = $_POST['password'];
    $hash = password_hash($password, PASSWORD_DEFAULT);

Значение $hash вставляется в базу данных и отлично выглядит на phpMyAdmin. Тогда основное, основной экран Войти с просьбой ввести учетные данные, и я всегда получаю отказ "пароль не совпадает с":

    <?php

    require_once 'scripts/app_config.php';
    require_once 'scripts/database_connection_tbt.php';

        $username = mysqli_real_escape_string($db, trim($_REQUEST['username']));
        $password = $_POST['password'];

        // Look up the user

        $query = sprintf("SELECT user_id, username, password FROM pax " .
                         "WHERE username = '%s' ", 
                         $username);

          $result = mysqli_query($db, $query);
          $row = mysqli_fetch_assoc($result);

          if ($row) {
              $hash = $row['password'];
              if (password_verify($password, $hash)) {
                  echo "<br><br>Password match <br><br>";
              } else {
                  echo "<br><br>Password doesn't match<br><br>";
              }
          }

    ?>

    <html>
        <body>
            <form action="" method="POST">
            <label for="username" id="username">Username:</label>
                <input type="text" name="username"><br><br>
            <label for="password" id="password">Password:</label>
            <input type="password" name="password"><br><br>
            <input type="submit" value="Please God, please.">
            </form>    
        </body>  
    </html>

0 ответов

Другие вопросы по тегам