php Post limited to 1000 variables

后端 未结 4 777
我在风中等你
我在风中等你 2020-12-06 04:49

I\'ve got a large form and I can see from firebug that all of the elements\' values are being sent properly, but when I print_r($_POST) there are only 1000 variables display

相关标签:
4条回答
  • 2020-12-06 05:19

    I had a similar situation; I could only POST the first 1000 elements of an array.

    My solution was to implode() the array into one long string and explode() it on the server side.

    json_encode() could probably work as well.

    0 讨论(0)
  • 2020-12-06 05:19

    Ok. I've figured out a solution using jquery

    I did it like this

    $("#single-form").submit(function(event) {
        event.preventDefault();
        var table_data = $(this).serialize();
        console.log(table_data);
      // ajax call to handle the data
    }
    

    serialize function will give the URL encoded strings of all form data and in PHP file just use the function parse_str to parse the string into variables.

    0 讨论(0)
  • 2020-12-06 05:29

    I see what you did here.

    max_input_vars, 1000
    

    Introduced in order to prevent hash collision attack: http://www.phpclasses.org/blog/post/171-PHP-Vulnerability-May-Halt-Millions-of-Servers.html But failed in 5.3.9: http://www.phpclasses.org/blog/post/175-Another-Serious-Security-Bug-on-PHP-539.html So you should update to 5.3.10+ if that is problem.

    0 讨论(0)
  • 2020-12-06 05:33

    I had that exact same problem of the 1000 variable limit using PHP v5.4.20. Even though the php.ini file did not contain any such 'max_input_vars' line, I simply found a convenient place to slot it in under the top [PHP] section, added the line 'max_input_vars = 10000', restarted Apache and everything was solved.

    0 讨论(0)
提交回复
热议问题