1

I'm trying to submit a form using AJAX, but keep getting

Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini

Up to now I've been using serializeArray() and then sending that to my php page. In my PHP page I've been using the following to read the submitted data:

$var = $_REQUEST['var_name'];

This works fine when there are only a few values submitted, but fails as above on a large page. Some of my form fields are named as $value[] so I can have multiple entries returned for them.

I'm now trying to get the following to work:

var tmp = $('#form').serialize();

$.ajax({
        type: "POST", 
        async: true,
        cache: false,
        data: {myData : tmp},
        url: "helper.php?action=submit&region=" + REGION,   
})

When this submits I get my individual values for action and region and then one very long string of myData

How do I process myData so I can use each individual value and submission from it ? ideally in a similar why to my previous method of $var = $_REQUEST for each entry.

Thanks

Tom
  • 1,436
  • 24
  • 50

2 Answers2

0

First on your php file check all the data is coming or not by below code:

 print_r($_POST) or var_dump($_POST) 

greetings :)

Therichpost
  • 1,759
  • 2
  • 14
  • 19
  • Thanks for the reply. Yes I get the data as one long string. How do I process that ? – Tom May 31 '17 at 11:55
  • like this $_POST["fieldname"]; – Therichpost May 31 '17 at 11:56
  • Thanks, but the data returned in `myData` is one long string. Made up like this `["myData"]=> string(39328) "method[]=0:4551512:2&address[]=LOCAL&home[]=NW&access[]=&user[0]=0"` I've shortened this.. How Do I get all the `method[]` values from it ? – Tom May 31 '17 at 12:03
  • I think: echo ['myData']['method']; please try this. – Therichpost May 31 '17 at 12:09
  • I get : `Illegal string offset 'method' in` any ideas ? – Tom May 31 '17 at 12:24
0

use parse_str()

$params = array();
parse_str($_POST['myData'], $params);
JYoThI
  • 11,977
  • 1
  • 11
  • 26