Password_verify не соответствует базе данных

Я рассмотрел другие вопросы / ответы, связанные с этим, и попытался изменить свой код несколькими способами, чтобы они соответствовали их ответам, но безуспешно. У меня есть форма регистрации, которая отлично работает и успешно добавляет пользователя в базу данных с помощью функции password_hash. Поле пароля — VARCHAR (255) и отображается как хешированный при вводе.

Проблема с формой входа. Я пробовал разные способы весь день безуспешно. Ниже мой текущий скрипт login.php.

<?php

session_start(); // Starting Session

$error=''; // Variable To Store Error Message

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

//error if both boxes empty
if (empty($_POST['email']) || empty($_POST['password'])) {
$error = "Please fill in both boxes";
}
else
{

// connecting, selecting database
require_once 'dbstuff.php';
include 'opendb.php';

// To protect MySQL injection for Security purpose and  define $email and $password
$email = mysqli_real_escape_string($cxn,$_POST['email']);
$password = mysqli_real_escape_string($cxn,$_POST['password']);//selects user = to email given
$sel_user = "SELECT * from Customer WHERE email='$email'";

$result = $cxn->query($sel_user);

//if matched email in DB verifies password given with hashed password in DB
if($result->num_rows ===1){
$row = $result->fetch_array(MYSQLI_ASSOC);
if (password_verify($password, $row['password'])){

echo "match";
//$_SESSION['login_user']=$email; // Initializing Session
//header("location: index.php"); // Redirecting To Other Page
} else {
$error = "email or Password is invalid";
}
}
mysqli_close($cxn); // Closing Connection
}
}

?>

Переменная $ error работает нормально, но все еще не видит, где я ошибаюсь с password_verify, продолжайте получать ошибку «email или пароль недействителен» вместо «match».

Я действительно буду признателен за отзывы о том, что я пропустил в коде! Спасибо 🙂

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]