проблема с POST запросом

imbalance
На сайте с 03.03.2007
Offline
240
738

в общем такая вот проблема.

Есть форма, в форме массив элементов, допустим чекбоксов.

<input type="checkbox" name="charray[]" value=""> (к примеру).

Чекбоксов может быть разное количество.

Проблема в том, что из формы, PHP скрипту передаются не все данные, т.е. например на форме 50 чекбоксов, а скрипту передается только 20. Как будто часть данных просто вырезается.

У кого-нибудь была подобная проблема?

Влияет ли post_max_size на это?

Спасибо за любую помощь.

R5
На сайте с 22.03.2010
Offline
24
#1
edogs software
На сайте с 15.12.2005
Offline
775
#2
imbalance:
в общем такая вот проблема.
Есть форма, в форме массив элементов, допустим чекбоксов.
<input type="checkbox" name="charray[]" value=""> (к примеру).
Чекбоксов может быть разное количество.
Проблема в том, что из формы, PHP скрипту передаются не все данные, т.е. например на форме 50 чекбоксов, а скрипту передается только 20. Как будто часть данных просто вырезается.

У кого-нибудь была подобная проблема?

Влияет ли post_max_size на это?

Спасибо за любую помощь.

post_max_size влияет, но он должен действовать по другому (если наш склероз не ошибается) - просто не пропускать post данные если их размер больше чем надо.

Ваша ситуация похожа или на ошибку в хтмл коде (где-то не закрытый тэг допустим, который часть полей формы делает недействительными). Или Вы просто забываете о том, что непомеченные чекбоксы не передаются.

Так же очень вероятно, что стоит php с suhosin патчем безопасности.

Если это suhosin, то посмотрите на suhosin.post.max_vars в первую очередь, по умолчанию оно равно 200, но может хостер настроил так, что оно равно 50. Там именно будут коцаться часть полей формы. В .htaccess нечто вроде php_value suhosin.post.max_vars 500 может помочь.

Еще вариант это если в полях у Вас передается русский язык и не настроены чарсеты правильно на сервере, тогда может помочь в .htaccess нечто вроде AddDefaultCharset UTF-8, при неправильной кодировке могут и не передаваться.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
P
На сайте с 19.03.2009
Offline
17
#3

У вас ведь наверняка форма генерируется. Указывайте айдишники явным образом например: charray[3]

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

Помогу с вёрсткой, html, css, js, jquery, php, mysql ($) icq 8938933 Быстрый, удобный и недорогой хостинг (http://sweb.ru/p17046) Виза в Великобританию (http://www.englishexpert.ru/velikobritaniya/viza/viza-v-velikobritaniu/)
imbalance
На сайте с 03.03.2007
Offline
240
#4

К делу совершенно никак не относится

imbalance добавил 01.11.2010 в 07:10

poyzn:
У вас ведь наверняка форма генерируется. Указывайте айдишники явным образом например: charray[3]
Скорее всего передаются только отмеченные чекбоксы.

Передаются данные только с N количества элементов.

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

imbalance добавил 01.11.2010 в 07:11

edogs:
post_max_size влияет, но он должен действовать по другому (если наш склероз не ошибается) - просто не пропускать post данные если их размер больше чем надо.
Ваша ситуация похожа или на ошибку в хтмл коде (где-то не закрытый тэг допустим, который часть полей формы делает недействительными). Или Вы просто забываете о том, что непомеченные чекбоксы не передаются.

Так же очень вероятно, что стоит php с suhosin патчем безопасности.
Если это suhosin, то посмотрите на suhosin.post.max_vars в первую очередь, по умолчанию оно равно 200, но может хостер настроил так, что оно равно 50. Там именно будут коцаться часть полей формы. В .htaccess нечто вроде php_value suhosin.post.max_vars 500 может помочь.

Еще вариант это если в полях у Вас передается русский язык и не настроены чарсеты правильно на сервере, тогда может помочь в .htaccess нечто вроде AddDefaultCharset UTF-8, при неправильной кодировке могут и не передаваться.

Спасибо за помощь, думаю как раз то, что нужно.

uhosin.post.max_vars

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий