@Karimmin

При пустом поле логина на странице авторизации не срабатывает ошибка, но код, который должен срабатывать при отсутствии ошибки срабатывает?

Здравствуйте, при пустом поле логина на странице авторизации должна выводиться ошибка, но она не выводится. Зато срабатывает код, который должен срабатывать только при правильном заполнении всех полей и переносит на главную.Вот код:
<?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');
Тот же код только на другом сайте нормально работает. Помогите пожалуйста разобраться в чем причина.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы