{"id":28005,"date":"2017-09-13T11:39:32","date_gmt":"2017-09-13T09:39:32","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=28005"},"modified":"2017-09-13T12:12:53","modified_gmt":"2017-09-13T10:12:53","slug":"php-limit-on-maximum-form-fields","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/","title":{"rendered":"PHP limit on maximum form fields"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>We had an interesting issue to debug at work today.\u00a0 One of the screens in our application features a form with a whole lot of checkboxes.\u00a0 It&#8217;s in the access control module, where the administrator of the system can manage user permissions for each module of the system.\u00a0 Here&#8217;s the screenshot just to give you an idea.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"28006\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/checkboxes\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?fit=1660%2C935&amp;ssl=1\" data-orig-size=\"1660,935\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"checkboxes\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?fit=660%2C372&amp;ssl=1\" class=\"aligncenter size-medium wp-image-28006\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes-500x282.png?resize=500%2C282&#038;ssl=1\" alt=\"\" width=\"500\" height=\"282\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?resize=500%2C282&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?resize=768%2C433&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?resize=1024%2C577&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?w=1660&amp;ssl=1 1660w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes.png?w=1320 1320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>This is not the pretties user interface (yet), but it sort of works.\u00a0 Every module can be expanded or collapsed, and inside each modules all checkboxes can be checked and unchecked easily.<\/p>\n<p>The problem that we had wasn&#8217;t user interface related.\u00a0 It was something else.\u00a0 The number of modules and permission checkboxes varies from system to system.\u00a0 This is based on each particular system setup.\u00a0 Now, on some of these systems, it was reported that some permissions are not being saved.<\/p>\n<p>The problem is not new, but it was slowly escalating with more and more clients reporting it.\u00a0 So, today we dived into it and found the cause of it.\u00a0 \u00a0Since PHP 5.3.9 there is a new runtime configuration setting: <a href=\"http:\/\/php.net\/manual\/en\/info.configuration.php#ini.max-input-vars\">max_input_vars<\/a>, with default value of 1.000:<\/p>\n<blockquote><p><code class=\"parameter\">max_input_vars<\/code><span class=\"type\"><a class=\"type integer\" href=\"http:\/\/php.net\/manual\/en\/language.types.integer.php\">integer<\/a><\/span><\/p>\n<p class=\"para\">How many\u00a0<a class=\"link\" href=\"http:\/\/php.net\/manual\/en\/language.variables.external.php\">input variables<\/a>\u00a0may be accepted (limit is applied to $_GET, $_POST and $_COOKIE superglobal separately). Use of this directive mitigates the possibility of denial of service attacks which use hash collisions. If there are more input variables than specified by this directive, an\u00a0<strong><code>E_WARNING<\/code><\/strong>\u00a0is issued, and further input variables are truncated from the request.<\/p>\n<\/blockquote>\n<p>So, on the systems, where the form contains more than a thousand checkboxes, PHP was only bringing in the first thousand and skipping the rest, causing not all permissions being saved properly.<\/p>\n<p>Increasing the value in runtime configuration is one way to solve it.\u00a0 But since we have a rather dynamic system and don&#8217;t always control the runtime configuration (client hosting), we opted for a different solution.\u00a0 As per <a href=\"https:\/\/stackoverflow.com\/questions\/8710185\/new-limit-within-php-1000-fields-per-post-does-someone-know-if-the-number-can\">this StackOverflow thread<\/a>, it&#8217;s a much more future-proof solution to combine the values into a single field.\u00a0 Either simple concatenate, or JSON-encode the values on form submit, and send them all as a single field value.\u00a0 Then just split or JSON-decode on the server before processing and you are done.<\/p>\n<p>P.S.: The extra bit that made the troubleshooting so much more difficult was that for some reason we were not seeing the PHP warning in logs.<\/p>\n<p>&nbsp;<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>We had an interesting issue to debug at work today.\u00a0 One of the screens in our application features a form with a whole lot of checkboxes.\u00a0 It&#8217;s in the access control module, where the administrator of the system can manage user permissions for each module of the system.\u00a0 Here&#8217;s the screenshot just to give you &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">PHP limit on maximum form fields<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"PHP limit on maximum form fields #WebDev #PHP","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[38,1330],"keyring_services":[],"class_list":["post-28005","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-php","tag-web-development"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It&#039;s in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here&#039;s the screenshot just to give you\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"PHP limit on maximum form fields - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It&#039;s in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here&#039;s the screenshot just to give you\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-09-13T09:39:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-09-13T10:12:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"PHP limit on maximum form fields - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It&#039;s in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here&#039;s the screenshot just to give you\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#blogposting\",\"name\":\"PHP limit on maximum form fields - Leonid Mamchenkov\",\"headline\":\"PHP limit on maximum form fields\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/checkboxes-500x282.png\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#articleImage\"},\"datePublished\":\"2017-09-13T11:39:32+02:00\",\"dateModified\":\"2017-09-13T12:12:53+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, PHP, web development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#listItem\",\"name\":\"PHP limit on maximum form fields\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#listItem\",\"position\":4,\"name\":\"PHP limit on maximum form fields\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/\",\"name\":\"PHP limit on maximum form fields - Leonid Mamchenkov\",\"description\":\"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It's in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here's the screenshot just to give you\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/09\\\/13\\\/php-limit-on-maximum-form-fields\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2017-09-13T11:39:32+02:00\",\"dateModified\":\"2017-09-13T12:12:53+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"PHP limit on maximum form fields - Leonid Mamchenkov","description":"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It's in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here's the screenshot just to give you","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#blogposting","name":"PHP limit on maximum form fields - Leonid Mamchenkov","headline":"PHP limit on maximum form fields","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/checkboxes-500x282.png","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#articleImage"},"datePublished":"2017-09-13T11:39:32+02:00","dateModified":"2017-09-13T12:12:53+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#webpage"},"articleSection":"All, Programming, Technology, Web work, PHP, web development"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#listItem","name":"PHP limit on maximum form fields"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#listItem","position":4,"name":"PHP limit on maximum form fields","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/","name":"PHP limit on maximum form fields - Leonid Mamchenkov","description":"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It's in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here's the screenshot just to give you","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2017-09-13T11:39:32+02:00","dateModified":"2017-09-13T12:12:53+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"PHP limit on maximum form fields - Leonid Mamchenkov","og:description":"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It's in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here's the screenshot just to give you","og:url":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2017-09-13T09:39:32+00:00","article:modified_time":"2017-09-13T10:12:53+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"PHP limit on maximum form fields - Leonid Mamchenkov","twitter:description":"We had an interesting issue to debug at work today. One of the screens in our application features a form with a whole lot of checkboxes. It's in the access control module, where the administrator of the system can manage user permissions for each module of the system. Here's the screenshot just to give you","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"28005","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 10:32:28","updated":"2026-01-15 13:14:44","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPHP limit on maximum form fields\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"PHP limit on maximum form fields","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/13\/php-limit-on-maximum-form-fields\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":26028,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/04\/18\/working-with-encrypted-values-in-sugarcrm-6-5\/","url_meta":{"origin":28005,"position":0},"title":"Working with encrypted values in SugarCRM 6.5","author":"Leonid Mamchenkov","date":"April 18, 2016","format":false,"excerpt":"SugarCRM comes with a variety of modules that store values in the database. \u00a0Some of those values are encrypted. \u00a0For example, mailbox passwords for inbound and outbound email configurations. When you create this configurations through the web interface or the API, you don't need to worry about encryption, as SugarCRM\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10315,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/08\/12\/backpack-more-than-just-a-todo-list\/","url_meta":{"origin":28005,"position":1},"title":"Backpack &#8211; more than just a TODO list","author":"Leonid Mamchenkov","date":"August 12, 2006","format":false,"excerpt":"I am trying out a new webservice these couple of days - Backpack. Backpack is a nice tool for information management. It provides a nice and easy interface to create and link web pages. On the web page one can have some text, lists (complete with checkboxes), notes, images, and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11339,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/08\/19\/sugarcrm-deployment-efforts\/","url_meta":{"origin":28005,"position":2},"title":"SugarCRM deployment efforts","author":"Leonid Mamchenkov","date":"August 19, 2008","format":false,"excerpt":"Since we started working on SugarCRM in the office, one of the hardest tasks that we had was solving the deployment issue.\u00a0 On one hand, SugarCRM comes with some really nice GUI tools, such Studio and Module Builder.\u00a0 On the other hand, the system is large and complex and should\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":23551,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/02\/18\/puppet-beginners-guide-to-modules\/","url_meta":{"origin":28005,"position":3},"title":"Puppet : Beginner&#8217;s Guide to Modules","author":"Leonid Mamchenkov","date":"February 18, 2015","format":false,"excerpt":"I've been using Puppet here and there for about a year now. \u00a0In the last six month, I went rather heavy, and managed to accumulate quite a bit of modules, configs, hosts, etc. \u00a0Refactoring some of the code, and trying out new ideas, I'm reading through the Beginner's Guide to\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27157,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/20\/feature-flags-in-php\/","url_meta":{"origin":28005,"position":4},"title":"Feature Flags in PHP","author":"Leonid Mamchenkov","date":"December 20, 2016","format":false,"excerpt":"Today edition of the \"Four short links\" from the O'Reilly Radar, brings a quick overview of the different feature flag implementations. \u00a0It touches on the following: Command-line flags, with the link to gflags. A\/B flags Dynamic flags, which are more difficult More complex systems. I've dealt with feature flags before,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27149,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/17\/amazon-linux-ami-lets-encrypt-importerror-no-module-named-interface\/","url_meta":{"origin":28005,"position":5},"title":"Amazon Linux AMI : Let&#8217;s Encrypt : ImportError: No module named interface","author":"Leonid Mamchenkov","date":"December 17, 2016","format":false,"excerpt":"Let's Encrypt has only experimental support for the Amazon Linux AMI, so it's kind of expected to have issues once in a while. \u00a0 Here's one I came across today: My first though was to install the system updates. It looks like something is off in the Python-land. But even\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=28005"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28005\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=28005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=28005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=28005"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=28005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}