Я осмотрел Stack Overflow и многие другие сайты, чтобы найти решение моей проблемы, но решение так и не пришло, и я даже не понимаю, насколько моя проблема вообще возможна. Вопрос внизу поста.
Вот содержимое login.php:
include("loginFunctions.php");
include("databaseFunctions.php");
if(checkSession())
{
header("location: adminArtist.php");
exit();
}
Вот содержимое loginFunctions.php:
function checkSession()
{
$isOnLine = false;
session_start();
if(isset($_SESSION["online"]))
{
$isOnLine = true;
session_regenerate_id(true);
}
else
{
endSession();
}
return $isOnLine;
}
Вот содержимое adminArtist.php:
include("loginFunctions.php");
if(!checkSession())
{
header("location: login.php");
exit();
}
Вот проблема, с которой я столкнулся: Когда я захожу, я попадаю на страницу adminArtist, так что это означает $_SESSION["online"] = true
в обоих login.php и adminArtist.php. Однако, когда я нажимаю кнопку отправки или нажимаю клавишу F5 или перезагружаю страницу любым другим способом, она возвращает меня к экрану входа. Это, вероятно, потому что вдруг $_SESSION["online"]
стал ложным.
Что я должен сделать, чтобы сохранить значение как правда?
Я не был уверен, сколько кода мне нужно опубликовать, но я думаю, этого должно быть достаточно, чтобы определить, что я сделал неправильно. В противном случае я буду редактировать и добавлять больше.
Задача ещё не решена.
Других решений пока нет …