在CodeIgniter中未知密钥时获取发布值

时间:2008-11-18 19:29:19

标签: php forms codeigniter post input

CodeIgniter允许通过以下方式访问POSTed数据:

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

其中'input_name'是表单字段的名称。这适用于静态表单,其中每个输入名称都是提前知道的。

就我而言,我正在从数据库中加载一组键/值对。表单包含每个键/值对的文本输入。

我想知道,有没有办法通过CodeIgniter api获取一系列发布的数据?

谢谢!

4 个答案:

答案 0 :(得分:9)

根据文件,没有。我建议只使用array_keys($_POST)来获取密钥。

答案 1 :(得分:5)

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

可以用来

答案 2 :(得分:1)

当然,如果您拥有数据库中的一系列密钥,您可以使用它,例如:

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

然后你的优势在于,如果人们提交其他字段(例如通过修改表单并自行发布),这些字段将被忽略

答案 3 :(得分:1)

$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']);
    }

插入:

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

更新:

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