Get post values when the key is unknown in CodeIgniter

10,777

Solution 1

According to the documentation, no. I would suggest just using array_keys($_POST) to get the keys.

Solution 2

foreach($this->input->post() as $key => $val)  {  echo "<p>Key: ".$key. " Value:" . $val . "</p>\n";  } 

that can be used to

Solution 3

Surely if you have an array of keys from the database you can use that, like :

foreach ($arrayFromDb as $key => $value) {
    $newValue = $this->input->post($key);
}

Then you have the advantage that people if people submit additional fields (e.g. by modifying the form and posting it themselves) those fields will be ignored

Solution 4

$array_db_columns = $this->db->query('SHOW COLUMNS FROM ci_props');
    $array_db_columns = $array_db_columns->result_array();
    $array_save_values = array();
    foreach ( $array_db_columns as $value )
    {
        $array_save_values[$value['Field']] = $this->input->post($value['Field']);
    }

insert :

$this->db->insert('props', $array_save_values);

update :

$this->db->where('id',$id); $this->db->update('props',$array_save_values);

Share:
10,777
GloryFish
Author by

GloryFish

Programmer, Objective-C, Python, PHP, Lua http://github.com/GloryFish/

Updated on June 16, 2022

Comments

  • GloryFish
    GloryFish almost 2 years

    CodeIgniter allows access to POSTed data via:

    $this->input->post('input_name');
    

    where 'input_name' is the name of a form field. This works well for a static form where each input name in known ahead of time.

    In my case, I am loading a collection of key/value pairs from the database. The form contains a text input for each key/value pair.

    I am wondering, is there a way to get an array of posted data via the CodeIgniter api?

    Thanks!

  • GloryFish
    GloryFish over 15 years
    Simple and straightforward. I like it.