Элемент сеанса недоступен, несмотря на то, что var_export() показывает, что он заполненPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Элемент сеанса недоступен, несмотря на то, что var_export() показывает, что он заполнен

Сообщение Anonymous »

Невозможно получить доступ к массиву, но var_dump() его видит.

Код: Выделить всё

    session_start();

include './entities/Answer.php';
include './entities/Question.php';
include './Database.php';

if (isset($_SESSION["question"])) {
$correct = TRUE;
var_dump($_SESSION["question"]);
var_dump($_SESSION["question"]->answers);
}
} else {
echo "no question selected.";
}

Код: Выделить всё

var_dump($_SESSION["question"]);
показывает:

Код: Выделить всё

object(__PHP_Incomplete_Class)#2 (8) {
["__PHP_Incomplete_Class_Name"]=> string(8) "Question"
["id"]=> string(1) "1"
["correct"]=> NULL
["wrong"]=> NULL
["answers"]=> array(3) {
[0]=> object(__PHP_Incomplete_Class)#3 (5) {
["__PHP_Incomplete_Class_Name"]=> string(6) "Answer"
["correct"]=> string(1) "0"
["question_id":"Answer":private]=> NULL
["id"]=> string(1) "1"
["text"]=> string(9) "antwort 1"
}
[1]=> object(__PHP_Incomplete_Class)#4 (5) {
["__PHP_Incomplete_Class_Name"]=> string(6) "Answer"
["correct"]=> string(1) "0"
["question_id":"Answer":private]=> NULL
["id"]=> string(1) "2"
["text"]=> string(5) "ant 2"
}
[2]=> object(__PHP_Incomplete_Class)#5 (5) {
["__PHP_Incomplete_Class_Name"]=> string(6) "Answer"
["correct"]=> string(1) "0"
["question_id":"Answer":private]=> NULL
["id"]=> string(1) "3"
["text"]=> string(5) "ant 3"
}
}
["creator_id"]=> NULL
["categories"]=> array(0) { }
["text"]=> string(17) "eine Test frage ?"
}
но var_dump($_SESSION["question"]->ответы); показывает NULL.
Я этого не совсем понимаю.
Я получил это как сообщение об ошибке:

Примечание PHP: main(): сценарий пытался выполнить метод или получить доступ к свойству неполного объекта. Убедитесь, что определение класса «Вопрос» объекта, с которым вы пытаетесь работать, было загружено до вызова unserialize(), или предоставьте функцию __autoload() для загрузки определения класса


Подробнее здесь: https://stackoverflow.com/questions/515 ... -populated
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»