Хеширование пароля в PHP не работает - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь создать хэш пароля в php-файле для создаваемого мини-блога. Я попал на стадию хеширования новых пользовательских паролей при регистрации пользователя, но когда я тестирую нового пользователяЛогин, я получаю неверный пароль пароль.Вот код: -

<?php

//require the public header which starts a session and connects to the database
require('header_public.php');
//3. If the form is submitted or not.
//3.1 If the form is submitted
if (isset($_POST['username']) and isset($_POST['password'])){
    //3.1.1 Assigning posted values to variables.
    $username = db_escape($con, $_POST['username']);
    $password = db_escape($con, $_POST['password']);
    //3.1.2 Checking the values are existing in the database or not
    $query = "SELECT * FROM user WHERE username='$username'";

    $result = mysqli_query($con, $query) or die(mysqli_error($con));

    $resultPassword = mysqli_query($con, $query) or die(mysqli_error($con));
    $count = mysqli_num_rows($result);

    //getting the hashed password from the database
    while ($row=mysqli_fetch_array($resultPassword)){
        $hashPassword = $row['password'];
    }

    //3.1.2 If the posted values are equal to the database values, then session will be created for the user.
    if ($count == 1 && password_verify($password, $hashPassword)){
        $_SESSION['username'] = $username;

        //Get the user type for use in other areas of the site
        while ($row=mysqli_fetch_array($result)){
            $admin = $row['admin'];

        }
        //assign userid to session array
        $_SESSION['admin'] = $admin;
    }else{
        //3.1.3 If the login credentials doesn't match, he will be shown with an error message.
        $fmsg = "Invalid Login Credentials.";
    }
}

if (isset($_SESSION['username'])){
    //$username = $_SESSION['username'];
    echo "Welcome back  " . $username;
    echo " </br> You will be redirected to the members area in less than 5 seconds";
    header( "Refresh:3; summary_page.php");
    echo "</br> <a href='logout.php'>Logout</a>";
}else{
//3.2 When the user visits the page first time, simple login form will be displayed.
?>

Благодарен за любое управление, которое кто-либо может предоставить.Я думаю, что проблема связана с началом новой сессии с именем пользователя, но не могу быть уверен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...