@DooglsGo

Не создаёт куки и не редиректит. В чем проблема?

Здравствуйте, делал логин для админов и столкнулся с проблемой, не редиректит на админку и не создаёт куки. Если неверно ввести пароль или логин выбивает ошибку, логично что форма доходит.

PHP
<?php
	if (!$logged_user or !$logged_user->take_group_info("admin_panel")) {
		include ROOT . "pages/403.php";
		exit();
	}

	if (isset($_COOKIE['confirm'])) {
		header('Location: /adminka');
	} else {
		$page_title = "Соглашение администрации";

		include Base::PathTPL("header");
		include Base::PathTPL("left_side");

		include Base::PathTPL("confirm");

		$confirm = $_POST['confirm'];
		$login = $_POST['login'];
		$password = $_POST['password'];

		if (isset($_POST['submit'])) {
        	$query = $db->execute("SELECT * FROM admin WHERE login='$login'");
        	$myrow = $db->fetch_array($query);

        	$errors = array();

        	if ($myrow['password'] != $password) {
            	$errors[] = 'Извините, введённый вами логин или пароль неверный.';
        	};

        	if (empty($password or $login)) {
            	$errors[] = 'Введите все данные!';
        	};

        	if (empty($errors)) { // Если нет ошибок выполнить код
        		header('Location: /adminka');  // Весь сок
			setcookie("confirm", '1', strtotime('+30 days')); // Весь сок
        	} else { //Или вывести ошибку
            	echo '
				<div class="ui negative message">
  					<i class="close icon"></i>
  					<div class="header">Ошибка: STOP 000000000xc0007</div>
  					<p>'.array_shift($errors).'</p>
  				</div>';
       		};
    	};

    	include Base::PathTPL("right_side");
		include Base::PathTPL("footer");
    };


HTML
<head>
<style>
.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem;
}

@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}

li { font-size: 1.2em; }
p { font-size: 1.2em; }
ul { font-size: 1.2em; }
</style>
</head
<body>
	<center><h1>Правила для администрации</h1></center>
	<ol>
		<!-- Контент -->
	</ol>
	<center><h1>Форма для принятия на Инструктора, Диспетчера и Ревизора</h1></center>
	<ol>
		<!-- Контент -->
	</ol>
	<p></p>
	<center><button class="ui green button open-modal">Продолжить</button></center>
	<div class="ui modal">
		<i class="close icon"></i>
		<div class="header">
    		Вход в админку
  		</div>
  		<div class="content">
			<form action="confirm" method="POST" class="ui form">
				<div class="field">
    				<label>Логин</label>
    				<input type="text" name="login" placeholder="Loloshka2019">
  				</div>
  				<div class="field">
    				<label>Пароль</label>
    				<input type="password" name="password" placeholder="MaksLox09052019">
  				</div>
  				<div class="field">
    				<div class="ui checkbox">
      					<input type="checkbox" name="confirm">
      					<label>Я согласен с условиями правил</label>
    				</div>
 				</div>
				<input class="ui green button" type="submit" name="submit" value="Войти">
			</form>
		</div>
	</div>
	<script>
		btn = $('.open-modal'),

        btn.on('click', function() {
            $('.ui.modal')
            .modal('show');
        });
	</script>
</body>
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Aricus
Что написали в комментариях, верно и правильно. От себя добавлю, учитесь самостоятельно отслеживать ошибки:
var_dump($errors);

        	if (empty($errors)) { // Если нет ошибок выполнить код

        		var_dump('Точка 1');

        		//header('Location: /adminka');  // Весь сок
        		setcookie("confirm", '1', strtotime('+30 days')); // Весь сок
        	}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы