• Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

unserialize() вообще не работает и при этом никаких ошибок не выдает

Статус
В этой теме нельзя размещать новые ответы.

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
Доброго времени суток, надеюсь кто-нибудь знает в чем тут проблема...
сразу чтобы отбросить глупые предположения - magic_quotes = Off...

что интерестно - функция serialize работает на ура...

я где-то читал что уже не раз сталкивались с подобного рода проблемой и как понял это баг самого PHP... Но тем не менее у меня есть задача и мне ее нужно решить именно путем использования функции unserialize()...

буду очень сильно благодарен тому, кто поможет
т.к. я уже вообще незнаю где копать и что думать...:wallbash:

PS: в логах апача все чисто:k-unsure:

PPS:strip_slashes тоже не помогло...

PPPS: чтобы никто не думал о какой-либо опечатке - не исполняется даже настолько простой код:

<?php

$exz = array();
$exz[]="apple";
$exz[]="red";

$ser1 = serialize($exz);

print_r(unserialize($ser1));
?>

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

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000
Alex9944, Попробовал ваш вариант - все работает (5.2.12). Какая версия PHP? Где-то слышал, что у людей были проблемы до версии 5.2 (не факт).


если точнее - то нету масива а не вывода
Нету массива $exz или нет строки $ser1 ?

И на крайний случай, если работать не будет, можно обойтись и без сериализации. Просто если у вас и заработает, то где гарантия, что на другом хосте тоже будет работать.
 
Последнее редактирование:

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
какбы эту функцию используют довольно таки часто - для обмена информацией методом GET...

нету именно массива СТРОКА ЕСТЬ И ВЫВОДИТСЯ на ура!

Какая версия PHP?
PHP 5.3.6


обойтись и без сериализации
Cама суть ТЗ в ней
 
Последнее редактирование:

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000
какбы эту функцию используют довольно таки часто - для обмена информацией методом GET...

Тоесть вы передаете эту строку через GET?
А если file.php?k1=v1&k2=v2 ....... так не лучше?
Если все происходит в пределах одного сайта - то можно использовать сессии.

Ну и на последок, если часто будет использоваться, можно сделать пользовательскую функцию

function mySerialize($array){
foreach($array as $k=>$v){
$stroka .= $k.'='.$v.'|';
}
return $stroka;
}

function myUnserialize($stroka){
$data = explode('|',$stroka);
array_pop($data);

foreach($data as $v){
$a = explode('=',$v);
$array[$a[0]] = $a[1];
unset($a);
}
return $array;
}

$arr = array('1'=>'a','2'=>'b');

$stroka = mySerialize($arr);

$array = myUnserialize($stroka);

Но только если массив одномерный
 

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
1) массив многомерный
2) я не спрашивал чем заменить эту функцию
3) я в курсе что того что такое сессии и как ими пользоваться...
Я повторюсь - задача должна быть решена именно так, если она будет решена каким либо другим образом, то она не будет считаться решенной, это не мои примхи...

конечно - я бы вообще закинул бы все это дело в кохану и сделал бы там все с помощью сессий, но такой возможности, как я надеюсь вы уже все-таки поняли, к сожелению, нет.
 

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000
Я повторюсь - задача должна быть решена именно так, если она будет решена каким либо другим образом, то она не будет считаться решенной, это не мои примхи...

Цель - решить задачу именно таким способом или решить ее вообще?
Не работает встроенная функция PHP и тут два варианта - либо идти в обход, либо обновлять PHP, писать разработчикам и ......

конечно - я бы вообще закинул бы все это дело в кохану и сделал бы там все с помощью сессий, но такой возможности, о5 таки, к сожелению, нет

Тоесть в обычном скрипте сессиями сделать нельзя?

В общем удачи в поисках.
 

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
Цель - решить задачу именно таким способом
вот правильный ответ

можно, причем здесь это, вы меня вобщем так и не поняли...
Решение именно таким методом это обязательный пункт ТЗ -_-


В общем удачи в поисках.
ок, спс
 

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000
Решение именно таким методом это обязательный пункт ТЗ -_-

Ну тогда извините, если что не так. Не знал про задание.

PHP версию не пробовали менять? Единственный вариант остается.
 

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
PHP версию не пробовали менять?
пробовал, более того - переустанавливал и реконфигал с 0я Apache...
судя по всему прийдется отказаться от задания, вообще очень странная ошибка...
даже предположений нет в чем тут проблема...

вот думаю еще как вариант поставить денвер попробывать может...
 

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000
вот думаю еще как вариант поставить денвер попробывать может...

Я на денвере и тестировал. Работало.
Что пишет так var_dump(unserialize($ser1))
И если можно, скинте строку после сериализации.
 

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
a:1:{s:3:"res";s:2:"ok";}
ну вот пример

да я как-то просто не сторонник Денвера, благо знания позваляют юзать нормальное полноценное ПО, обидно лишь то что прийдется сносить все -_-
 

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
Array ( [0] => rez [1] => ok ) -_-

да массив получить надо именно такой (в случае успеха конечно)...

я чего-то недопонимаю...

почему тогда неработает:
<?php
$exz = array();
$exz[]="apple";
$exz[]="red";
$ser1 = serialize($exz);
print_r(unserialize($ser1));
?>

по тз.
т.е. тут скорее всего трабла в коде самого сервера как я понимаю, моя задача простая - сериализировать, отправить, получить, унсериализировать обработать условие...
 

FоrFun

Специалист
Регистрация
08.04.2010
Сообщения
409
Реакции
16
Поинты
0.000
Array ( [0] => rez [1] => ok ) -_-

да массив получить надо именно такой (в случае успеха конечно)...

я чего-то недопонимаю...

почему тогда неработает:
<?php
$exz = array();
$exz[]="apple";
$exz[]="red";
$ser1 = serialize($exz);
print_r(unserialize($ser1));
?>

по тз.
т.е. тут скорее всего трабла в коде самого сервера как я понимаю, моя задача простая - сериализировать, отправить, получить, унсериализировать обработать условие...

Скорее всего. Других причин нет.
Единственое, это то, что у нас сериализованные строки различаются.
В интернете по этому вопросу только один ответ - magic_quotes.
Если найдете ответ, будьте добры, запостите здесь - мало ли, сам столкнусь.:thumbsup:
 

dkameleon

МАСТЕР
Регистрация
14.12.2006
Сообщения
4,237
Реакции
3,167
Поинты
0.000
Array ( [0] => rez [1] => ok ) -_-

да массив получить надо именно такой (в случае успеха конечно)...

я чего-то недопонимаю...

почему тогда неработает:
<?php
$exz = array();
$exz[]="apple";
$exz[]="red";
$ser1 = serialize($exz);
print_r(unserialize($ser1));
?>

по тз.
т.е. тут скорее всего трабла в коде самого сервера как я понимаю, моя задача простая - сериализировать, отправить, получить, унсериализировать обработать условие...

Код:
D:\>p.php
Array
(
    [0] => apple
    [1] => red
)

D:\>
работает.
Включайте наверное вывод нотисов и смотрите.

точно ли это чистый код и к нему ничего не цепляется?
 

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000
точно ли это чистый код и к нему ничего не цепляется?
естественно да

Включайте наверное вывод нотисов и смотрите.
думаете я не пробывал? да уже не актуально, я не знаю как там и почему оно не работает, но я отдал ТЗ знакомому.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу