limit počtu prvků formuláře

jan-kratochvil
Člen | 17
+
0
-

Ahoj, řeším problém, pokud formulář překročí počet prvků (addText) přes cca 1000, tak se přestane volat onSuccess[] a při submitu se pouze točí dokola render. Je zde nějaký limit? Nebo jsem úplně vedle? Mám Nette 3.1

Honza

Editoval jan-kratochvil (13. 5. 16:12)

Marek Bartoš
Nette Blogger | 1230
+
+4
-

Dělá to php.ini nastavení max_input_vars, s Nette to nemá nic společného. Webserver přebytečná data prostě zahodí.

Editoval Marek Bartoš (13. 5. 16:14)

jan-kratochvil
Člen | 17
+
0
-

Marek Bartoš napsal(a):

Dělá to php.ini nastavení max_input_vars, s Nette to nemá nic společného. Webserver přebytečná data prostě zahodí.

Ježiš děkuju, to mě vůbec nenapadlo, nechal jsem na tom snad 4 hodiny času, grrrr.

v té dokumentaci se píše:

If there are more input variables than specified by this directive,
an E_WARNING is issued, and further input variables are truncated from the request.

já ale žádný warning nedostal, není to nějaká chyba?

Marek Bartoš
Nette Blogger | 1230
+
+1
-

Tenhle warning vznikne hned při startu php, ještě před tím, než zapneš Tracy. Nejspíš tedy vznikl, ale zalogoval se jinam než jsi čekal. Nejspíš v umístění definovaném přes ini option error_log

Můžeš si však jednoduše dosáhnutí limitu zkontrolovat i sám, přes

if (count($_POST) === ini_get('max_input_vars')) {
	// Likely hit the max_input_vars limit
	trigger_error("Input variables exceeded the max_input_vars limit.", E_USER_WARNING);
}

Ideálně bys měl kód změnit tak, abys nastavení počtu proměnných nepotřeboval změnit, namísto toho by jich mělo chodit méně.

jan-kratochvil
Člen | 17
+
0
-

Jasně, je to ve /var/log/apache2/error

Ještě jednou moc děkuji za pomoc.