In a controller in CI you could get all post variables by doing something like this:
$data = $this->input->post();
In EE (built off of CI by the same people) the analogous syntax would be:
$data = $this->EE->input->post();
The only issue is that instead of an array with all of the data, you get a boolean of false.
Is there some way of getting an array of all post data, using ExpressionEngine rather than the POST superglobal?
Thanks.
Try native
$this->input->post(NULL, TRUE); // returns all POST items with XSS filter
$this->input->post(); // returns all POST items without XSS filter
Ref: https://www.codeigniter.com/user_guide/libraries/input.html
Ok, the way to get results similar to CI within EE for all elements of a POST, while still leveraging the security features of EE is the following:
foreach($_POST as $key => $value){
$data[$key] = $this->EE->input->post($key);
}
Since you can access POST vars by name, looping through them in $_POST, then explicitly calling each will yield the desired result.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With