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

[已解决] 表单验证里,如何验证url里的get参数?

[复制链接]
发表于 2009-8-31 10:49:08 | 显示全部楼层 |阅读模式
本帖最后由 superwf 于 2009-9-9 17:46 编辑

表单验证里,我试过了,好用,但只能是前台生成表单,点击提交后,后台能正常使用验证功能,但是有一些参数是通过url传输过去的,比如/index.php?c=home&m=index&id=3&type=2
这种id啊,type啊的$_GET里的东西更需要验证,但是CI里的验证类就不起作用了,总是无法通过验证?这些只能自己手动写验证吗?
发表于 2009-8-31 11:23:18 | 显示全部楼层
CI验证类只对$_POST有效,需自己扩展
 楼主| 发表于 2009-9-9 17:51:40 | 显示全部楼层
看了一下libraries文件夹里的Form_validation文件,里面的run方法,都是针对post的数据来做的。
想了个偷懒的方法,再扩展一个类继承Form_validation(或者直接copy后新建一个类),然后把里面的$_POST全替换成$_GET。验证get数据的时候用这个新类就成了。
发表于 2009-9-9 18:10:00 | 显示全部楼层
你为什么不直接换成$_REQUEST
 楼主| 发表于 2009-9-9 21:18:57 | 显示全部楼层
$_REQUEST的话,gpc变量多了会变量覆盖太容易乱,而且就没用过,觉得不太靠普。
按我那个思路直接又生成了一个Form_validation_get类,还需要一个form_get_helper做验证错误的输出。已经用上了form_get_helper就是把原有的form_get.php其中的几个函数改成get用的就成了。
发表于 2009-9-10 14:40:05 | 显示全部楼层
恩,强~顶你~
发表于 2010-9-22 00:34:56 | 显示全部楼层
回复 5# superwf


    兄弟能不能把修改后的,发一份给我参考一下呀,谢谢
发表于 2010-9-23 16:43:25 | 显示全部楼层
写个外挂挂在外面就可以用了~PHP肯定是可以支持GET数组的

本版积分规则