Здравствуйте! У меня с проверкой пароля пользователя:
$data = $_POST;
В файле singup.php:
$user = R::dispense('users');
$user->login = $data['login'];
$user->email = $data['email'];
$user->password = password_hash($data['passoword'], PASSWORD_DEFAULT);
R::store($user);
В файле login.php :
$data = $_POST;
if (isset($data['do_login'])) {
$errors = [];
$user = R::findOne('users', 'login = ?', [$data['login']]);
if ($user) {
if (password_verify($data['password'], $user->password)) {
$_SESSION['logged_user'] = $user;
echo '<div style="color: green;">Вы успешно авторизованы можете перейти на <a href="/">главную страницу</a></div><hr/>';
} else {
$errors[] = 'Неверный пароль!';
}
} else {
$errors[] = 'Пользователь с таким логином не найден!';
}
if (!empty($errors)) {
echo '<div style="color: red;">'.array_shift($errors).'</div><hr/>';
}
}
Проблема заключается в том, что password_verify не работает. Пробовал md5() тоже не помогло. Может кто знает в чём проблема? У меня проходит авторизация только если поле пароля не заполнено, а если я ввожу правильный пароль то пишет что типа пароль неверный. Вопрос: почему?!??!