У меня есть отдельная страница для добавления новых администраторов. Эта страница доступна после входа на сайт
<input type="text" name="email" id="email">
<input type="text" name="password" id="password">
<button type="submit" name="action" id="action"></button>
Также есть обработчик который записывает эти данные в таблицу. Пароль хэшируется с помощью
password_hash
if ($_POST["action"] == "Insert") {
$email = mysqli_real_escape_string($object->connect, $_POST["email"]);
$password = password_hash($data['password'], PASSWORD_DEFAULT);
$query = "
INSERT INTO users
(email, password)
VALUES ('" . $email . "', '" . $password . "')";
$object->execute_query($query);
echo 'Data Inserted';
}
Есть отдельная страница входа:
<input type="text" name="email" id="email">
<input type="password" name="password" id="password">
<input type="submit" name="Login" id="Login">
И обработчик который проверяет есть ли данные пользователя в таблице:
<?php
require "db_connect.php";
$data=$_POST;
if(isset($data['Login']))
{
$errors = array();
$user = R::findOne('users', 'email = ?', array($data['email']));
if( $user)
{
if(password_verify($data['password'], $user->password))
{
$_SESSION['logged_user'] = $user;
header("location:home.php");
} else {
$errors[] = 'Пароль неправильно введен';
}
} else
{
$errors[] = 'Такого email нет!';
}
if (!empty($errors)) {
echo'<div style="color:red;">'.array_shift($errors).'</div><hr>';
}
}
?>
Каждый раз выдает ошибку что пароль не верный. В чем может быть ошибка?
Если пароли не хэшированы, то вход происходит