Переменные сессии не перемещаются на следующую страницу - PullRequest
0 голосов
/ 08 апреля 2020

Выдержка из validate-login. php:

<?php 
   if(!session_id()){ session_start(); }
   if(!(isset($_SESSION['mobile']) or isset($_SESSION['email']))){
      $_SESSION['error'] = 'NOT_LOGGED_IN';
      header("location:error.php");
   }
?>

Скрипт validate-login. php будет включен во все " ограниченные »страницы, которые я хочу, чтобы быть доступным только после входа в систему.

Выдержка из ошибка. php:

<?php 
   if(!session_id()){ session_start(); }
   $errorCode = isset($_SESSION['error']) ? $_SESSION['error'] : '';
   print_r($_SESSION);
?>

Выполнение кода на localhost выводит меня как:

Массив ([ошибка] => NOT_LOGGED_IN)

Выполнение кода на удаленном / онлайн-сервере всегда выводит меня как:

Array ()

Я не заметил эту проблему где-либо еще на моем сайте.

Если я изменю validate-login. php как:

<?php 
   if(!session_id()){ session_start(); }
   if(!(isset($_SESSION['mobile']) or isset($_SESSION['email']))){
      $_SESSION['error'] = 'NOT_LOGGED_IN';
      print_r($_SESSION);
   }
?>

Вывод:

Array ([error] => NOT_LOGGED_IN)

Я читал похожие вопросы на StackOverflow и других форумах, и они предложили удалить любые пробелы до session_start(); и не выводить / печатать что-либо до header(location="...");, что, я полагаю, я сделал это т.

Что не так с моим кодом?

...