I have a multidimensional array, which consists of 426 smaller arrays, which also comprise of 4 attributes.. Below is an example of one of 426 arrays…
array( //Main array
0 => array( //1 of 426 arrays
'name' => 'Danny',
'email' => 'your@email.com',
'picture_url' => 'http://www.website.com',
'score' => 89
),
)
I’m posting this array with jquery’s ajax functions to a php file, which adds them to a database… My problem is that the array seems to be chopped off when it’s posted to the php file. Only about half the array actually reaches the php file…
This has led me to believe that there may be a file size limit when posting over ajax. However, the size of my array seems to be relatively small..
I’m running my application on WAMP..
Can anyone shed some light what’s possibly happening?
UPDATE:
I’m posting my array like so:
$.ajax({
type: "POST",
url: "invite_friends.php",
data: {
theID: me.id,
friends: multidimensional_array //This is the array <---
},
success: function(data, textStatus, jqXHR) {
return console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
return alert("Error: Oops, there has been a problem");
}
});
And I retrieve my array (in invite_friends.php) like so..
if($_POST['friends']) {
$friends = $_POST['friends'];
} else {
$friends = FALSE;
}
You need to open your
php.inifile and set (or create) this line:max_input_vars = 1000000max_input_varshas a default value of 1000, which will cut off an array at 1000 total elements. Just change it to a really high number (in my case, I needed to set it to one million).From the PHP Manual:
Keep in mind: As the manual says, this default limit was put in place to prevent denial of service attacks.
Hope this helps even though this is an old question.