@eridanlivia

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

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

<?php
session_start();
if ($_SESSION['login'] = false);
{
    header('Location:index.php');
    if ($_SESSION['login'] = true);
    {
        header('Location:books');
        exit;
    }
}
?>
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 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 вообще все не правильно, это код учившегося два часа, надо усердней читать вначале.
Ответ написан
Ваш ответ на вопрос

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

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