Post waardes missen bij een groot formulier

Door 8 februari 2013Tips & Trucs

Mocht het voorkomen dat je een gigantisch groot formulier gemaakt hebt en na het “submitten” niet alle waardes doorkomen dan kan het zijn dat max_input_vars te laag staat. Dit was vandaag bij mij het geval. Eerst even gekeken welke waardes er daadwerkelijk gepost werden:

<?php
if($_POST)
{
	echo '<pre>'.print_r($_POST,TRUE).'</pre>';
}
?>

Vervolgens het formulier verkleint en dan komt wel alles door!

Even zoeken en dan kom je van alles tegen dat je formulier niet goed kan zijn. Voor de zekerheid even door de W3C Validator gehaald maar ook dat mocht niet baten. Het kan natuurlijk zijn dat post_max_size of memory_limit te laag waren, deze ook verhoogd. Uiteindelijk erachter gekomen dat sinds PHP 5.3.9 de max_input_vars optie aanwezig is. Deze verhoogd in htaccess:

php_value max_input_vars 2000

En werken!

Let op! max_input_vars kan niet middels ini_set ingesteld worden!