Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: не могу взять данные из URL ($_GET и $_REQUEST)
Форумы портала PHP.SU » » Объектно-ориентированное программирование » не могу взять данные из URL ($_GET и $_REQUEST)

Страниц (1): [1]
 

1. coolbeck - 28 Апреля, 2014 - 12:50:53 - перейти к сообщению
prepare.php?json=%7B"data"%3A%7B"date"%3A"2014-03-17+08%3A44%3A59"%2C"house"%3A"CRM+S%5Cu00fcsteemid+O%5Cu00dc%2C+P%5Cu00e4rnu+mnt+139c+%2C+Tallinn"%2C"kuupaev"%3A"2014-03-17+08%3A44%3A59"%7D%2C"hinded"%3A%7B"param"%3A%5B"T%5Cu00f6%5Cu00f6de+kvaliteet+hindamisperioodil"%2C"Vaipkatete+puhtus"%2C"Kontaktisiku+p%5Cu00e4devus+hind.perioodil"%2C"K%5Cu00f5vap%5Cu00f5randate+puhtus"%2C"Tolm+vabadelt+pindadelt"%2C"Klaas-+ja+peegelpindade+puhtus"%2C"Pr%5Cu00fcgikastid"%5D%2C"ruum"%3A%5B"%5Cu00dcldhinnang+sisepuhastusele"%2C"B%5Cu00fcrooruum"%2C"%5Cu00dcldhinnang+sisepuhastusele"%2C"B%5Cu00fcrooruum"%2C"B%5Cu00fcrooruum"%2C"B%5Cu00fcrooruum"%2C"B%5Cu00fcrooruum"%5D%2C"hinne"%3A%5B"5"%2C"5"%2C"5"%2C"0"%2C"5"%2C"0"%2C"5"%5D%2C"markused"%3A%5B""%2C""%2C""%2C""%2C""%2C""%2C""%5D%7D%7D
В адресной строке такая строчка, это массив закодированный в json_encode().
На локальном сервере у меня отлично всё работает, а вот на сервере клиента нет. Ломаю голову в чём могла бы быть проблема.
Выдаёт NULL, когда пытаюсь достать json
var_dump($_GET['json']);
echo $_REQUEST['json'];
Оба пустые...
Если ввести обычное значение в строку, например prepare.php?json=ffff
То работает.
Дополнение: элементарный закодированный массив виден.

$array = array('hop' => 'pop');
$json = json_encode($array);
Web::redirect(Web::url('/php_script/pdf_prepare.php', array('json' => $json)));
Думаю, что проблема в настройке сервера, но вот что конкретно не так... который день гуглю, ничего полезного не нашёл, может кто сталкивался с подобным?
2. esterio - 28 Апреля, 2014 - 13:17:48 - перейти к сообщению
3. coolbeck - 28 Апреля, 2014 - 13:30:57 - перейти к сообщению
esterio пишет:

Спасибо за ответ, но это ближе к безопасности передачи данных.
А у меня необходимый мне массив не доходит.
Я тут попробовал уменьшить массив и если сделать ровно половину массива, то он проходит.
Создаётся впечатление, что есть на сервере некие ограничения, т.к. на локальном сервере у меня без проблем обрабатывается весь массив.
Есть предположения, что за настройки могут быть?
4. Stierus - 28 Апреля, 2014 - 13:37:24 - перейти к сообщению
rawurlencode - это не к безопасности Улыбка Все строковые гет-параметры нужно прогонять через него что бы системные символы преобразовывались (если у вас в json будут символы & или = то они будут считаться разделителями гет-параметров, хотя на самом деле это не так)
(Добавление)
вообще такие вещи обычно постом передают Улыбка
5. coolbeck - 28 Апреля, 2014 - 13:50:50 - перейти к сообщению
Stierus пишет:
rawurlencode - это не к безопасности Улыбка Все строковые гет-параметры нужно прогонять через него что бы системные символы преобразовывались (если у вас в json будут символы & или = то они будут считаться разделителями гет-параметров, хотя на самом деле это не так)
(Добавление)
вообще такие вещи обычно постом передают Улыбка

Спасибо за поправку.
Я попробовал rawurlencode, всё равно NULL возвращает.
На вскидку, постом передать данные возможно чистым php или без javascript никак?
Хорошее предложение, что-то я не подумал, может если не получится таким образом забрать данные, тогда постом попробую.
6. Stierus - 28 Апреля, 2014 - 14:23:06 - перейти к сообщению
можно еще base64_encode попробовать Улыбка
7. coolbeck - 28 Апреля, 2014 - 15:15:30 - перейти к сообщению
Задачу выполнил, сделал чуть по-другому. Передал свою переменную через $_SESSION['']
Насколько я понял, на сервере стоит ограничение на GET.
Пробовал прописать suhosin.get.max_value_length = <limit> в php.ini, но мне не помогло.

 

Powered by ExBB FM 1.0 RC1