Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to get all post variables in ExpressionEngine, like you could in CodeIgniter?

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.

like image 507
Mike_K Avatar asked Jun 20 '12 21:06

Mike_K


2 Answers

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

like image 164
Jewel Avatar answered Oct 24 '22 16:10

Jewel


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.

like image 25
Mike_K Avatar answered Oct 24 '22 15:10

Mike_K