Задать вопрос
@eridanlivia

Не могу сделать редирект. Какая ошибка в коде?

Пытаюсь написать сайт. Стартовая страница просит ввести логин и пароль. После авторизации пользователь проходит на сайт. Одна из страниц сайта требует авторизации пользователя, если он её не прошел (редирект на страницу с логином и паролем), но этого не происходит и выдаёт ошибку: ERR_TOO_MANY_REDIRECTS. Код страницы с редиректом:

<?php
session_start();
if ($_SESSION['login'] = false);
{
    header('Location:index.php');
    if ($_SESSION['login'] = true);
    {
        header('Location:books');
        exit;
    }
}
?>
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой 10 комментариев
Пригласить эксперта
Ответы на вопрос 1
@psiklop
<?php
session_start();
if ($_SESSION['login'] = false);  //точки с запятой быть не должно
{
    header('Location:index.php');
    if ($_SESSION['login'] = true); 
       // не один =, а два == и скорее нужно так: if (!empty($_SESSION['login'] ))
    {
        header('Location:books');
        exit;
    }
}
?>


У вас вообще проверка if ($_SESSION['login'] = true) вложена в другой обратный IF и никогда не выполнится, надо вынести и писать ELSE IF
P.S вообще все не правильно, это код учившегося два часа, надо усердней читать вначале.
Ответ написан
Ваш ответ на вопрос

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

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