Выдержка из 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="...");
, что, я полагаю, я сделал это т.
Что не так с моим кодом?