Website Forms not saving in Wordpress, Drupal or PHP

On very large forms (with lots of form elements) you can find that your form does not save. This is due to a PHP setting max_input_vars. The default setting for this is usually 1000. That means that if the form has more than 1000 elements then elements past 1000 will be omitted. Therefore the form can save partially.

This can be particularly prevalent in permissions forms that have multiple roles and multiple permissions e.g. 100 permissions and ten roles will take you to the limit quite easily.

There are various ways to change this setting either in your php.ini file max_input_vars = 4000 or it can be put in a .htaccess file php_value max_input_vars 4000.

If you are changing your Apache server configuration in php.ini then you probably know what you are doing, if not then the exact steps may vary but will probably be something like:
* locate php.ini This shows you where your php.ini is
* sudo nano /etc/php5/apache2/php.ini Use the path from above
* Change ; max_input_vars = 1000 to max_input_vars = 4000 or another appropriate number
* Save and quit
* Restart Apache sudo apache2ctl restart

The downside? Yes there is some. The PHP documentation says that a large setting can make your site more susceptible to denial of service attacks.

Post new comment

By submitting this form, you accept the Mollom privacy policy.

User login

Author of...

  • http://twitgoo.com/1tvsbl day 12 time for a hair cut 14 years 14 weeks ago
  • http://twitgoo.com/1tr5up day 8 14 years 14 weeks ago
  • http://twitgoo.com/1tprol day 7 14 years 14 weeks ago
  • Day 5 of my #drupalipet from #drupal7 release party http://twitgoo.com/1tn9lv 14 years 15 weeks ago
  • I friend has just tried xkcd on kindle. An amazed smile of joy and surprise has spread across his face. My turn please. 14 years 15 weeks ago
  • No I didn't :( i blame 3 14 years 15 weeks ago
  • I beat the iPhone 14 years 15 weeks ago
  • Won the quiz! 14 years 15 weeks ago
Oliver Polden