десериализация(unserialize) в php

Dezhavi

Новичок
десериализация(unserialize) в php

Помогите плиз, не знаю что и делать.
Не работает unserialize.
Вот для примера такой код
$so='O:1:"a":1:{s:5:"value";s:3:"100";}';
$dataus = unserialize($so);
print_r($dataus);
выдает такое
__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => a [value] => 100 )

Как сэтим бороться.
ПРочитал в доке вот такое
http://php.ru/manual/function.unserialize.html
Но так и не понял как это побороть.
Кто знает подскажите пожалуйста.
 

Dezhavi

Новичок
Дык хотелось бы получить объект...
Те хотелось бы получить данные, которые были сериализованы
 

Gas

может по одной?
Dezhavi
создай класс "a", потом десереализуй

флоппик
print_r вроде показывает что object, но при обращении к value даёт NULL, я думал такой unserialize вообще должен какой-то fatal вызвать.
 

Ravanger

Новичок
ПРочитал в доке вот такое
а вот такое прочитал?

Существует возможность указать функцию обратного вызова, которая будет вызвана, если в процессе десериализации должен быть проинициализирован неопределенный класс. (для предотвращения получения неполного объекта "__PHP_Incomplete_Class".) Используйте php.ini, ini_set() или .htaccess для определения функции 'unserialize_callback_func'. Каждый раз, когда должен быть проинициализирован неопределенный класс, будет вызываться эта функция. Для отключения этой возможности просто оставьте значение директивы пустым.
 

Gas

может по одной?
Ravanger
прикольно, как-то и не знал о таком.
 

Dezhavi

Новичок
извините душевно, но, что такое класс а?
И если я делаю вот так
$row=mysql_fetch_array($res);
$_SESSION['userReg']= serialize($row);
.........
unserialize($_SESSION['userReg'])
в сееию попадает вот такое
a:22:{i:0;s:1:"1";s:2:"id";s:1:"1";i:1;s:3:"ddd";s:5:"login";s:3:"ddd";i:2;s:3:"ddd";s:6:"passwd";s:3:"ddd";i:3;s:3:"ddd";s:5:"sname";s:3:"ddd";i:4;s:3:"ddd";s:4:"name";s:3:"ddd";i:5;s:3:"ddd";s:10:"patronymic";s:3:"ddd";i:6;s:3:"ddd";s:4:"city";s:3:"ddd";i:7;s:0:"";s:5:"phone";s:0:"";i:8;s:0:"";s:5:"email";s:0:"";i:9;s:10:"0000-00-00";s:4:"date";s:10:"0000-00-00";i:10;s:1:"1";s:6:"status";s:1:"1";}
то какой класс мне надо создавать, и что должно быть в этом классе?
 

Gas

может по одной?
Dezhavi
ты бы сначала сам определился что у тебя происходит, в первом случае у тебя сериализованный объект, во втором массив.
 

Фанат

oncle terrible
Команда форума
объясни толком, какие у тебя проблемы.
что за странные куски кода? какая разница, что попадает в сессию?
приведи СВЯЗНЫЙ пример кода из 4х строчек, который выдает эту ошибку
 
Сверху