Сессия уже запущена – игнорирование session_start () Xampp

<?php if($_SESSION['IS_LOGEDIN'] == 'Y') { header("location:index.php?page=home"); exit(); } ?> 

У меня проблемы с ребятами, у меня есть этот код входа и эта ошибка, когда я хочу пойти на эту страницу.

Сессия уже запущена – игнорирование session_start ().

Я попытался сделать код таким образом, но когда я хочу перейти на страницу, я не хочу загружать:

 <?php if(!isset($_SESSION['IS_LOGEDIN']) == 'Y') { session_start(); header("location:index.php?page=home"); exit(); } ?> 

Какое решение?

Solutions Collecting From Web of "Сессия уже запущена – игнорирование session_start () Xampp"

Ваш код неверен:

 if(!isset($_SESSION['IS_LOGEDIN']) == 'Y') session_start() 

Вы начинаете свою сессию ПОСЛЕ того, как вы пытаетесь проверить значение, которое (предположительно) в сеансе. Кроме того, isset() возвращает логическое значение true / false. Он никогда не вернет строку и не вернет значение, которое может быть установлено в переменной, которую вы тестируете. Так что в основном у вас есть, if (true/false == 'Y') что не имеет смысла.

Вероятно, вам нужно что-то большее:

 session_start() if (!isset($_SESSION['IS_LOGEDIN']) || ($_SESSION['IS_LOGEDIN'] != 'Y')) { header('....'); } 

«если пользователь никогда не входил в систему или не регистрировался, а затем перенаправлял».

Вы можете попробовать

  <?php session_start(); //must be at the start of the page if(!isset($_SESSION['IS_LOGEDIN']) or empty($_SESSION['IS_LOGEDIN'])) { $_SESSION['IS_LOGEDIN'] = 'Y'; header("location:index.php?page=home"); exit(); } ?>