Здравствуйте, при пустом поле логина на странице авторизации должна выводиться ошибка, но она не выводится. Зато срабатывает код, который должен срабатывать только при правильном заполнении всех полей и переносит на главную.Вот код:
<?php
require 'db.php';
$data = $_POST;
$errors = array();
if (isset($data['do_login'])) {
$user = R::findOne('users', 'user_name = ?', array($data['user_name']));
if ($user) {
if (password_verify($data['password'], $user->password)) {
$_SESSION['logged_user'] = $user;
header('Location: index.php');
} else {
$errors[] = 'Пароль введен не верно!';
}
} else {
$errors[] = 'Имя пользователя введено не верно!';
}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Авторизация</title>
<link rel="stylesheet" href="media/login.css">
</head>
<body>
<div class="form">
<img src="media/img/LOGOblue.png" alt="Логотип" id="logo">
<h1>Авторизоваться</h1>
<form action="login.php" method="POST">
<input type="text" class="name" name="user_name" placeholder="Имя пользователя" value="<?php echo @$data['user_name'] ?>"><br>
<input type="password" class="password" name="password" placeholder="Пароль" value="<?php echo @$data['password'] ?>"><br>
<input type="submit" value="Войти" class="submit" id="sabmit" name="do_login"><br>
</form>
</div>
</body>
</html>
<?php
if (!empty($errors)) {
echo '<div style="color: #fff; background-color: red; padding: 10px; font-family: Arial; width: 270px; text-align: center; margin-left: 40.5%; margin-top: 5px;">' . array_shift($errors) . '</div>';
}
?>
срабатывает
header('Location: index.php');
Тот же код только на другом сайте нормально работает. Помогите пожалуйста разобраться в чем причина.