session & objects

myname

Guest
session & objects

здравствуйте, у меня небольшое недопонимание

делаю следующее:
- открываю сессию
- подключаю файл с классами
- создаю новый объект
- меняю значение некоторых полей
- объект сохраняю в сессию: $_SESSION['obj'] = $myObj;
- header на новый файл с html, в котором:
$newObj = isset($_SESSION['obj']) ? $_SESSION['obj'] : '';
далее хтмл.. и где-то

<?= $newObj->filedName ?>

ошибка:
The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition of the object you are trying to operate on was loaded _before_ the session was started in

вопрос: в чем проблема?
 

myname

Guest
ок. ошибка в том, что не хватало одного пункта:
- открываю сессию
- подключаю файл с классами
- ........
- header на новый файл с html, в котором:
!!* include класс
* $newObj = isset($_SESSION['obj']) ? $_SESSION['obj'] : '';
* далее хтмл.. и где-то

вопрос:
1. есть ли функция, позволяющая сохранять обект, как ассоциативный массив, имеется ввиду: ("поле"=>"значение")
2. ошибка возникала потому как, типа объект описывался по не объявленному правилу (== класс) ?
 

rotoZOOM

ACM maniac
ответ:
дословный перевод ошибки:
"Пожалуйста, убедитесь в том, что объявление класса, к которму принадлежит объект, с которым вы работаете, было загружено _ПЕРЕД_ тем как стартовали сессию"
У тебя же, что написано:
- открываю сессию
- подключаю файл с классами
По поводу твоего первого вопроса:
есть такая штука сериализация, посмотри.
 

myname

Guest
rotoZOOM, спасибо.
в чем была ошибка - выяснилось.
поправь, если я ошибаюсь,
все инициализации и т.п. не имеют значения, если они были сделаны ДО header("Location: ...") ??
насчет сериализации сейчас взгляну.
 

Фанат

oncle terrible
Команда форума
ты так пугаешься, как будто я тебя посылаю не в фак а в армию служить.
Если тебя интересует - зачем, то тебе надо пойти и прочесть то, что там написано.
Если ты задаешь процитированный вопрос, значит ты не слишком силен в основах, изложенных в факе.
Для твоего же блага надо пойти и почитать, как работает пхп.

Или тебя два дня три человека должны уговаривать это сделать?
 
Сверху