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

[讨论/交流] 利用$this->input->post()获取form表单数据

[复制链接]
发表于 2011-7-20 17:56:10 | 显示全部楼层 |阅读模式
我的本意是从前端的form表单里面获取输入的值,form的名字是start,是一个日期控件
因此我在后台ci里面这样去获取
$start=$this->input->post('start');
$aa = array('ga_date' => $start);
$query = $this->db->get_where('service_data',$aa);
然后从数据库中查找,但是没有数据返回,
然后我手动输入日期,代码是这样
$aa = array('ga_date' => “2011-07-02”);
$query = $this->db->get_where('service_data',$aa);
这么改动之后,就可以从数据库中获取数据了。
我想了一下,应该是$this->input->post这个方法,不知道我遗漏了哪里导致我在后台无法获取数据
希望高手指点一下啊
发表于 2011-7-20 19:15:33 | 显示全部楼层
你print_r看看$aa是什么东西呢,跟你手动输入的对比以下
 楼主| 发表于 2011-7-20 19:39:16 | 显示全部楼层
jeongee 发表于 2011-7-20 19:15
你print_r看看$aa是什么东西呢,跟你手动输入的对比以下

打印的应该是一个数组吧,里面只有一个元素,就是2011-07-02
发表于 2011-7-21 07:18:09 | 显示全部楼层
不是应不应该,而是肯不肯定。

按所知,CodeIgniter会从get或post中把'-'拿掉的。

肯定后再说吧!
发表于 2011-7-21 13:57:20 | 显示全部楼层
燃雲 发表于 2011-7-21 07:18
不是应不应该,而是肯不肯定。

按所知,CodeIgniter会从get或post中把'-'拿掉的。

不会把,你测试了,用的是ci 几?
发表于 2011-7-21 21:39:38 | 显示全部楼层
$start=$this->input->post('start');
start不是form的名字
post里面的参数必需是form里面input的名称
找个基础的书先看看。

点评

此乃正解!  发表于 2012-10-18 12:25
发表于 2011-7-22 08:54:30 | 显示全部楼层
chyan5258 发表于 2011-7-21 13:57
不会把,你测试了,用的是ci 几?

是看错了些东西。

亦没注意到'start'是用了作form name而非input name,为何说$this->post->('start')有返回值?肯定?

假如$start值的确是"2011-07-02",数据库内亦肯定有相应资料是不会出错。

电脑是个肯定的环境,测试结果只有是否,不肯定的测试结果是极难除错的。

本版积分规则