Не преобразуйте в последовательную форму не работающий на рабочем сервере, работах над localhost

Я передаю преобразованные в последовательную форму данные через строку запроса

$msg = $nos.' of '.$recordsExtracted.' records imported';
header('Location: ../import-to-master.php?msg='.serialize($msg));

Я использую ниже, чтобы собрать данные

if(isset($_GET['msg']))
{
    $msg=unserialize($_GET['msg']);
}

На localhost на отзывающемся эхом $msg сообщение становится показанным на экране.

Но на рабочем сервере, хотя сообщение видимо в URL

import-to-master.php?msg=s:23:"5 of 5 records imported";

повторение $msg ничего не показывает. Чтобы удостовериться $msg обрабатывается, я приложил его с последовательностью как

$msg .= 'sdage';

и при обновлении страницы, я добрался, чтобы видеть стадию на странице. Таким образом, это означает , не преобразовывают в последовательную форму не работает над сервером.

Моя первая мысль была, возможно, версией рабочего сервера PHP, не поддерживал , не преобразовывают в последовательную форму , но версия 5.2, который действительно поддерживает , преобразовывают в последовательную форму , и не преобразовывают в последовательную форму

Меня оставляют задаться вопросом, какова проблема могла бы быть.

PS : Yes, I've not taken care of escaping the data, but my priority right now is to solve the current issue and then go for getting safe input from the query string.

1
nl ja de
Won' t там быть проблемой с использованием urlencode и преобразовывают в последовательную форму в то же время?
добавлено автор asprin, источник
Да, причина I' m использующий , преобразовывают в последовательную форму то, потому что в некоторых случаях, I' m прохождение множества через строку запроса. Таким образом, это - необходимость и я can' t снижение, используя 'serialize'
добавлено автор asprin, источник
var_dump ($msg) дает мне bool (ложный)
добавлено автор asprin, источник
Поблагодарите Вас все за предложения. Как оказалось, использование stripslahses решил проблему и, как указано @MaxYakimets, волшебные кавычки действительно позволен на сервере.
добавлено автор asprin, источник
Нет, вы кодируете его для URL. После использования ПОЛУЧАЮТ точно так же, как регулярные данные
добавлено автор Hugo Delsing, источник
Попробуйте urlencode ваши данные
добавлено автор Bogdan Burim, источник
@asprin у Вас будут проблемы с использованием urlencode и передача преобразованных в последовательную форму данных через $ _GET
добавлено автор Bogdan Burim, источник
Если вы хотите использовать множество в строке запроса, можно использовать http_build_query() , чтобы создать строку запроса. Данных избегут для вас. например: http_build_query ([' a' => [1 => [' a' ' b'], 2 => ' b' 3 => ' c']]); и в сценарии вы доберетесь var_dump ($ _GET): => множество (1) {["a"] => множество (3) {[1] => множество (2) {[0] => последовательность (1) [1] => последовательность (1) "b"} [2] => последовательность (1) "b" [3] => последовательность (1) "c" }}
добавлено автор piotrekkr, источник
Можно использовать json_encode вместо преобразовывают в последовательную форму, it' s более компактный и удобочитаемый. Если вы перенаправляете, чтобы пролистать тот же самый сервер, почему, не используя сессии?
добавлено автор dev-null-dweller, источник
У вашего локального сервера и рабочих серверов есть различные php.ini параметры настройки (как волшебные кавычки) - следовательно различное поведение. Можно проверить его var_dump ($ _GET [' message'])
добавлено автор Max Yakimets, источник
Также, если вы передаете произвольные объекты через запросы HTTP, вы можете base64 кодировать последовательность, которую вы получаете после преобразования в последовательную форму их. И base64 расшифровывают их, затем десериализовывают их на, получают. Это просто выглядит более ясным мне, хотя нечитабельный),
добавлено автор Max Yakimets, источник
@asprin, перечитанный мой комментарий, я не сказал var_dump ($msg)
добавлено автор Max Yakimets, источник
Как "эмпирическое правило", если мимолетные данные через URL, используйте urlencode , храня сложные ценности (как Множества) в базе данных/сессии/кэш-памяти/и т.д. используйте , преобразовывают в последовательную форму .:) Также, что сказанный @MaxYakimets.
добавлено автор Favio, источник

1 ответы

После серии испытания и ошибок, я решил его использование

if(isset($_GET['msg']))
{
    $msg=unserialize(stripslashes($_GET['msg']));
}
1
добавлено
Вы имеете magic_quotes на тогда, выключаете это: P
добавлено автор Ing, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp