Как обойти max_variables_input

0

Я создаю форму LOOONG с тысячами различных входных значений (точнее, через ~ 2900 входов) (она должна генерировать маркетинговую электронную почту на основе значений, введенных в форму, но существует около дюжины возможных разделы для электронной почты, каждая из которых содержит сотни настраиваемых атрибутов, которые могут изменить внешний вид созданного письма). Проблема, с которой я сталкиваюсь (я думаю), заключается в том, что я передаю ограничение max_variables_input 1000 для моего сервера и заканчивая связью ошибок " Уведомление: Неопределенный индекс: " и сломанный код на другом конце.

Вне того, как мы попросили нашего хоста повысить лимит ввода, мне интересно, знает ли кто-нибудь, как ограничить входные данные, переданные скрипту действия тем, которые используются?

Как я создал форму, у меня есть модули электронной почты, которые используются в div с идентификаторами:

<div id="SectionDiv1"></div>
<div id="SectionDiv2"></div>
<div id="SectionDiv3"></div>
<div id="SectionDiv4"></div>
<div id="SectionDiv5"></div>
<div id="SectionDiv6"></div>

(Примечание. Не все из этих divs обязательно используются... количество модулей определяется вводом номера :)

<label>Number of Sections</label> <input name="nosections" id="nosections"
class="2-digit-number" type="number" min="1" max="6" value="3">

Все остальные модули, которые не используются, скрыты от отображения в другом div:

<div id="hiddenelements" style="display: none;"></div>

Есть ли способ отправить только те входы, которые я использую в скрипт действия?

  • 0
    Вы имеете в виду что-то вроде $("div").not(":visible"); ?
  • 0
    если все 2900 могут изменить значения независимо друг от друга, для человека это будет невозможно. если значения не всегда могут быть совершенно разными, используйте значения по умолчанию и отправляйте только измененные значения.
Показать ещё 3 комментария
Теги:
forms

1 ответ

1
Лучший ответ

Если вы говорите о параметре max_input_vars для php, вы также можете установить это значение в файле.htaccess:

php_value max_input_vars 3000

См. Руководство.

Чтобы ответить на ваш вопрос, вы можете удалить блоки, скрытые с помощью javascript, и, поскольку вы также отметили вопрос с помощью jQuery:

$('form').on('submit', function(e) {
  $('#hiddenelements').remove();
});
  • 0
    Это потрясающе. Спасибо, Йерун!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню