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

[已解决] 如何获取表单数组?

[复制链接]
发表于 2010-8-17 10:43:23 | 显示全部楼层 |阅读模式
html<input name="user[login]"  type="text" value="" />

在ci中如何使用$this->input->post("????")来获取该值?

thanks
发表于 2010-8-17 12:01:18 | 显示全部楼层
直接用 $_POST
发表于 2013-3-16 09:54:38 | 显示全部楼层
Hex 发表于 2010-8-17 12:01
直接用 $_POST

这个没用,CI初始化时就过滤了所有数据,
当触发一个控制器的时候,安全过滤(Security Filtering)功能自动启动。做以下事情:

If $config['allow_get_array'] is FALSE(default is TRUE), destroys the global GET array.
当 register_globals 被设置为 on 的时候,销毁所有的全局变量。
过滤 GET/POST/COOKIE 数组键,只允许字母-数字(以及一些其它的)字符。
可以过滤跨站脚本攻击 (Cross-site Scripting Hacks) 此功能可全局打开(enabled globally),或者按要求打开。
换行符统一换为 \n(Windows 下为 \r\n)



我也是取不到这个数组啊,自动给我转化成了字符串了,怎么办啊
发表于 2013-3-16 09:59:05 | 显示全部楼层
Hex 发表于 2010-8-17 12:01
直接用 $_POST


             <div class="liuyanfuxuan2">
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="朋友介绍"  class="shiyan" />朋友介绍</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="报纸杂志"  class="shiyan" />报纸杂志</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="电视"  class="shiyan" />电视</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="电台"  class="shiyan" />电台</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="百度"  class="shiyan" />百度</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="谷歌"  class="shiyan" />谷歌</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="19楼论坛"  class="shiyan" />19楼论坛</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="搜房网"  class="shiyan" />搜房网</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="淘宝商城"  class="shiyan" />淘宝商城</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="新浪微博"  class="shiyan" />新浪微博</div>
                <div class="liuyanfuxuan21"><input type="checkbox" name="whereknow[]" onfocus=this.blur() value="其他"  class="shiyan" />其他</div>
             </div>


这样一个多选的,后台得到的是一个数组,但是CI却转成了字符ARRAY,$form=$this->form_validation->to_array();  ,难道我只能一个个给个不同的name来取值了么
发表于 2013-3-18 13:07:49 | 显示全部楼层
郭鑫别啊 发表于 2013-3-16 09:54
这个没用,CI初始化时就过滤了所有数据,
当触发一个控制器的时候,安全过滤(Security Filtering)功能 ...

新版CI不会给你过滤 $_POST 的。
顶多只过滤 $_GET,也是在2.0以前的版本才会。

本版积分规则