ансериализация

  • Автор темы alex234
  • Дата начала

alex234

Guest
ансериализация

mass - серриализированная переменная, не могу ее
расссериализировать:

PHP:
$mass='a%3A2%3A%7Bi%3A0%3Ba%3A3%3A%7Bi%3A0%3Bs%3A1%3A&';
print("$mass");

$addodf=unserialize($mass);
print_r($addodf);
в чем ошибка?
 

Tigr

Новичок
А как стока получена? как сериализуются, что потом делается ... код покажи
 

Crazy

Developer
Что-то не очень похож $mass на результат, который возвращает функция serialize... :)
 

alex234

Guest
$mess приходит из другого скрипта:
PHP:
$serialized=serialize($text_array);
print("<input type=hidden name=mass value=\"$serialized\">");
$text_array имеет вид:
Array
(
[0] => Array
(
[0] => м
[1] => о
[2] => й
)

[1] => Array
(
[0] => д
[1] => я
[2] => д
[3] => я
)

)
 

Crazy

Developer
Для приведенного тобой массива результат serialize даже близко не похож не константу из первого сообщения.

Кстати, ты забыл проквотить текст. Т.е.

$serialized=htmlspecialchars(serialize($text_array));

Посмотрев в HTML-код своей страницы ты бы сразу понял, почему приходит чушь. :)
 

young

Новичок
То что показано в первом сообщении уж больно напоминает urlencode / urldecode
 

alex234

Guest
я вроде понял в чем проблема, но сдесь не помогает htmlspecialchars(), она двоеточия не инкодит.
 

Crazy

Developer
Ага. :) Мешать могут разные причины (от ограничения на длину URL при использовании get-форм до magic_quotes_gpc=on). Но с htmlspecialchars код корректно работает. Я проверил.
 
Сверху