views:

38

answers:

1

Hi there,

What would be the best way to send a complete post to a model in Code Igniter? Methods I know are as follow:

Name form elements as array, eg.

<input type="text" name="contact[name]">
<input type="text" name="contact[surname]">

and then use:

$this->Model_name->add_contact($this->input->post('contact'));

The other would be to add each element to an array and then send it to the model as such:

<input type="text" name="name">
<input type="text" name="surname">

and

$contact_array = array('name' => $this->input->post('name'),
                       'surname' => $this->input->post('surname'));
$this->Model_name->add_contact($this->input->post('contact'));

Which one of these would be best practice, and is there a way to directly send a whole POST to a model (or a whole form maybe?)

+1  A: 

Simply pass $_POST variable to method that you want to work with all POST variables. I see your concern, but rest assured: $_POST is sanitized by security filtering function whenever controller is instantiated.

So:

$this->Model_name->add_contact($_POST);
mr.b
Ah great! Didn't know that $_POST itself was sanitized. Thanks!
Constant M
Well, it is, to some extent, but to be sure, you can enable auto-xss filtering in config.php by setting $config['global_xss_filtering'] = TRUE
mr.b
$config['global_xss_filtering'] is enabled, it just never occurred to me that it sanitized the actual $_POST var.
Constant M