Я практикую PHP, и проблема, с которой я столкнулся сегодня, заключается в том, что моя переменная stati c сбрасывается при каждом вызове.
Страница входа после проверки пользователя из БД
<?php
Session::onlogin(1);
?>
Это мой сессионный класс, он забавный c onlogin, и я посылаю ему некоторые данные из другого файла, которые меняют $is_signed
на true. Но проблема в том, что переменная $is_signed
получает сброс, когда я вызываю ее из индекса. php возвращает false
<?php
class Session {
private static $is_signed = false;
function __construct(){
session_start();
}
public static function is_signed_in(){
return self::$is_signed;
}
public static function onLogin($userid){
if($userid){
session_regenerate_id();
$_SESSION['user_id'] = $userid;
self::$is_signed = true;
return true;
}
}
}
$session = new Session;
?>
Теперь я вызываю ее в индексе. php, как показано ниже
if(Session::is_signed_in()){
echo "logged In";
}
else {
echo "error";
?>
Я не знаю, где я создаю какую-либо ошибку, но когда я вызываю методы.