在 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-&gt;db-&gt;insert('props', $array_save_values);

更新:

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

【讨论】:

以上是关于在 CodeIgniter 中密钥未知时获取 post 值的主要内容,如果未能解决你的问题,请参考以下文章

密钥未知时获取对象?

Vue.js 为 v-for 获取未知的 Json 密钥

插入批处理,如果在Codeigniter 3 HMVC中有重复的密钥更新

当我尝试运行使用 CodeIgniter 编写的项目时出现 Xampp 未知错误

创建 azure vm 时,terraform 抛出“无效或未知的密钥:区域”

数据表为第 0 行请求未知参数“0”