@AlexanderLyakh
Python

Почему при обращении с сессии ничего не выводит, хотя она не пустая?

<?php
echo var_dump($_SESSION["logged_user"]);
echo "Ваш ID: ".$_SESSION["logged_user"]->properties->id;
echo "Ваше имя: ".$_SESSION["logged_user"]->name;
echo "Ваша фамилия: ".$_SESSION["logged_user"]->surname;
echo "Ваш класс: ".$_SESSION["logged_user"]->classes;
echo "Ваша почта: ".$_SESSION["logged_user"]->mails;
echo "Ваш IP с которого вы зашли: ".$_SESSION["logged_user"]->ip;
?>5f362d38d0071201685508.png
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Enguipro
@Enguipro
PHP developer
Вы записали в сессию объект своего кастомного класса, и PHP не знает, как его обратно десериализовать, потому что для этого ваш класс должен быть объявлен до вызова session_start(). Запишите в сессию массив, не мучайтесь с объектом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
nokimaro
@nokimaro
На скрине видно ["properties":protected] что как бы намекает на то что это защищённое свойство и таким образом доступ к нему не получить.
Для ознакомления читаем https://www.php.net/manual/ru/language.oop5.visibi...

Для решения проблемы - не надо пихать в сессию экземпляр объекта RedBeanPHP, а ложите туда обычный массив или объект где нужные свойства будут публичные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы