用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3619|回复: 6
收起左侧

[HELP] 求助CI如何批量获取用户输入数据?

[复制链接]
发表于 2011-11-14 22:50:53 | 显示全部楼层 |阅读模式
在开发过程中获取用户输入项是非常麻烦的事儿,如果数据库有20个字段那么要20个 $this->input->post('xx'),请问CI是否有批量获取用户输入的方法呢?一个方法搞定所少有输入? 例如  $this->input_allpost()
发表于 2011-11-15 08:35:09 | 显示全部楼层
PHP复制代码
$data=array();
foreach($_POST as $key=>$val){
    $data[$key]=$this->input->post($key);
}
复制代码

目前看只能这样了。
发表于 2011-11-15 08:37:23 | 显示全部楼层
可以换个思路,在表单页面 这样写 name="item[a]".........name="item[b]"  .....

后台只需要$this->input->post('item') 就能获取数组了

点评

多谢了 很有帮组~~~~  发表于 2011-11-16 16:55
嗯,这个方法不错,谢谢  发表于 2011-11-15 12:20
发表于 2011-11-15 08:43:17 | 显示全部楼层
deader 发表于 2011-11-15 08:37
可以换个思路,在表单页面 这样写 name="item[a]".........name="item"  .....

后台只需要$this->input->p ...

这个思路不错,就是前端与后台要好好配合了。

前端用jquery的form插件,也还不错。
无论怎么搞,毕竟是20多个字段,使用起来,是差不多的繁琐。
发表于 2011-11-15 11:28:36 | 显示全部楼层
获取容易,
设submit的name为空
然后
if($_POST)
{
   $this->db->insert('table',$_POST);
}

但安全性方面怎么弄?
发表于 2011-11-22 23:29:11 | 显示全部楼层
为什么不设置一个$fliter_array=Array('name', 'email', etc.)
然后foreach $fliter_array
发表于 2011-11-23 14:53:15 | 显示全部楼层
学习了

本版积分规则