Проблемы с сохранением объекта в сеансе

В моем проекте у меня есть эта строка в основном файле:

$LoggedIn = isset($_SESSION['User']) ? unserialize($_SESSION['User']) : false;

Core: http://pastebin.com/9HMP11bG

и при методе входа в систему он имеет следующее:

$_SESSION['User'] = serialize($User);

Репо пользователя: http://pastebin.com/vNehc2Hm

Пользователь: http://pastebin.com/4UXT79MU

Когда я пытаюсь получить доступ к объекту $ LoggedIn, он выдает мне такую ​​ошибку:

Fatal error: Uncaught Error: Cannot use object of type __PHP_Incomplete_Class as array in C:\xampp\htdocs\jalawebs\dev\webcofounder\web\controller\index\index.php:14 Stack trace: #0 C:\xampp\htdocs\jalawebs\dev\webcofounder\config\core.php(111): require() #1 C:\xampp\htdocs\jalawebs\dev\webcofounder\index.php(9): require('C:\\xampp\\htdocs...') #2 {main} thrown in C:\xampp\htdocs\jalawebs\dev\webcofounder\web\controller\index\index.php on line 14

0

Решение

Это происходит, когда вы вызываете свойство несериализованного объекта, которое не определено в самом скрипте.

Создание класса вроде так new User() вызовет автозагрузчик для загрузки скрипта где unserialize() не.

Вы можете сделать следующее:

$o = unserialize($yourstring);
if(is_object($o) && class_exists(get_class($o))){ // invoke the autoloader
echo $o->LoggedIn;
}

Или просто включите скрипт напрямую include_once() или же require_once(),

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector