librown
@librown
На-все-руки-мастер и немного кодер

Почему обрезается часть массива $_POST при сабмите формы?

Приветствую, коллеги!

Есть форма с большим количеством полей (50+) и двумя кнопками сабмита:
<form name="form" enctype="multipart/form-data" method="post" action="...">
   <button type="submit" name="submit">Сохранить</button>
   <button type="submit" name="submit_enabled">Включить</button> 
   ...поля...
</form>

На бекэнде код, который обрабатывает нажатия обоих кнопок - один и тот же (!).

Суть проблемы: При нажатии кнопки "Сохранить" - на бекэнд приходят все данные (полностью весь массив $_POST), а при нажатии кнопки "Включить" иногда (!) приходят на полные данные (часть массива $_POST в конце обрезается). Причем обрезается не всегда на одном и том же символе - а "плавает".

На сервере такие настройки (PHP 5.6):
max_input_vars = 5000
post_max_size = 256M
memory_limit = 2048M


Мне кажется дело не в моем коде. А в чем тогда? Настройки сервера? Бага в php?
Может кто сталкивался?

Спасибо.
  • Вопрос задан
  • 677 просмотров
Пригласить эксперта
Ответы на вопрос 4
Не знаю в чем проблема, но знаю как я бы искал - я бы всеми силами пытался добиться повторяемости.
иногда (!) приходят на полные данные
- так вы ничего не найдете.
Поймайте обрезанные данные и повторите отправку с теме же данными - опять обрезалось, а с другими нет? Ищите разницу в данных.
Ответ написан
Комментировать
@psfpro
Нужно проверить что отправляется на сервер в консоли разработчика в браузере. Возможно проблема в верстке формы с большим количеством полей.
Ответ написан
Комментировать
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
Ищите багу в одном из полей или одном из значений.
Ответ написан
Попробуйте отправить запрос на сохранение через rest http tools, если результат будет такой же проблема на бекенд, если нет, то на верстке
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы