在 CodeIgniter 中密钥未知时获取 post 值
Posted
技术标签:
【中文标题】在 CodeIgniter 中密钥未知时获取 post 值【英文标题】:Get post values when the key is unknown in CodeIgniter 【发布时间】:2010-09-22 22:14:08 【问题描述】:CodeIgniter 允许通过以下方式访问 POST 数据:
$this->input->post('input_name');
其中 'input_name' 是表单字段的名称。这适用于每个输入名称提前知道的静态表单。
就我而言,我正在从数据库中加载一组键/值对。该表单包含每个键/值对的文本输入。
我想知道,有没有办法通过 CodeIgniter api 获取一组发布的数据?
谢谢!
【问题讨论】:
【参考方案1】:根据文档,没有。我建议只使用array_keys($_POST)
来获取密钥。
【讨论】:
简单明了。我喜欢它。【参考方案2】:foreach($this->input->post() as $key => $val) echo "<p>Key: ".$key. " Value:" . $val . "</p>\n";
可以用来
【讨论】:
【参考方案3】:当然,如果你有一个来自数据库的键数组,你可以使用它,比如:
foreach ($arrayFromDb as $key => $value)
$newValue = $this->input->post($key);
那么您的优势在于,如果人们提交额外的字段(例如,通过修改表单并自己发布)这些字段将被忽略
【讨论】:
【参考方案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']);
插入:
$this->db->insert('props', $array_save_values);
更新:
$this->db->where('id',$id); $this->db->update('props',$array_save_values);
【讨论】:
以上是关于在 CodeIgniter 中密钥未知时获取 post 值的主要内容,如果未能解决你的问题,请参考以下文章
插入批处理,如果在Codeigniter 3 HMVC中有重复的密钥更新
当我尝试运行使用 CodeIgniter 编写的项目时出现 Xampp 未知错误