• Реклама: ⚡️ Платежное решение для High-risk бизнеса: высокая конверсия, адекватные цены, 24/7! Узнайте подробнее!
  • Добро пожаловать на инвестиционный форум!

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

    Впрочем, для начала надо зарегистрироваться!
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от 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 нету -_-
если точнее - то нету масива а не вывода :)
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!
Последнее редактирование:

FоrFun

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


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

И на крайний случай, если работать не будет, можно обойтись и без сериализации. Просто если у вас и заработает, то где гарантия, что на другом хосте тоже будет работать.
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!
Последнее редактирование:

Alex9944

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

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

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


обойтись и без сериализации
Cама суть ТЗ в ней
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!
Последнее редактирование:

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);

Но только если массив одномерный
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

Alex9944

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

конечно - я бы вообще закинул бы все это дело в кохану и сделал бы там все с помощью сессий, но такой возможности, как я надеюсь вы уже все-таки поняли, к сожелению, нет.
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

FоrFun

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

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

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

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

В общем удачи в поисках.
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

Alex9944

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

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


В общем удачи в поисках.
ок, спс
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

FоrFun

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

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

PHP версию не пробовали менять? Единственный вариант остается.
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

Alex9944

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

вот думаю еще как вариант поставить денвер попробывать может...
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

FоrFun

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

Я на денвере и тестировал. Работало.
Что пишет так var_dump(unserialize($ser1))
И если можно, скинте строку после сериализации.
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

Alex9944

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

да я как-то просто не сторонник Денвера, благо знания позваляют юзать нормальное полноценное ПО, обидно лишь то что прийдется сносить все -_-
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

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));
?>

по тз.
т.е. тут скорее всего трабла в коде самого сервера как я понимаю, моя задача простая - сериализировать, отправить, получить, унсериализировать обработать условие...
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

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:
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

Alex9944

Любитель
Регистрация
08.03.2011
Сообщения
219
Реакции
2
Поинты
0.000

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:\>
работает.
Включайте наверное вывод нотисов и смотрите.

точно ли это чистый код и к нему ничего не цепляется?
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!

Alex9944

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

Включайте наверное вывод нотисов и смотрите.
думаете я не пробывал? да уже не актуально, я не знаю как там и почему оно не работает, но я отдал ТЗ знакомому.
 
Реклама: 🔥 Хочешь получить Telegram Premium и стать гуру Polymarket? Кликай сюда!
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу