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

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽