superwf 发表于 2009-8-31 10:49:08

表单验证里,如何验证url里的get参数?

本帖最后由 superwf 于 2009-9-9 17:46 编辑

表单验证里,我试过了,好用,但只能是前台生成表单,点击提交后,后台能正常使用验证功能,但是有一些参数是通过url传输过去的,比如/index.php?c=home&m=index&id=3&type=2
这种id啊,type啊的$_GET里的东西更需要验证,但是CI里的验证类就不起作用了,总是无法通过验证?这些只能自己手动写验证吗?

visvoy 发表于 2009-8-31 11:23:18

CI验证类只对$_POST有效,需自己扩展

superwf 发表于 2009-9-9 17:51:40

看了一下libraries文件夹里的Form_validation文件,里面的run方法,都是针对post的数据来做的。
想了个偷懒的方法,再扩展一个类继承Form_validation(或者直接copy后新建一个类),然后把里面的$_POST全替换成$_GET。验证get数据的时候用这个新类就成了。

kazaff 发表于 2009-9-9 18:10:00

你为什么不直接换成$_REQUEST

superwf 发表于 2009-9-9 21:18:57

$_REQUEST的话,gpc变量多了会变量覆盖太容易乱,而且就没用过,觉得不太靠普。
按我那个思路直接又生成了一个Form_validation_get类,还需要一个form_get_helper做验证错误的输出。已经用上了form_get_helper就是把原有的form_get.php其中的几个函数改成get用的就成了。

kazaff 发表于 2009-9-10 14:40:05

恩,强~顶你~

刀疤鬼脚六 发表于 2010-9-22 00:34:56

回复 5# superwf


    兄弟能不能把修改后的,发一份给我参考一下呀,谢谢

sonic 发表于 2010-9-23 16:43:25

写个外挂挂在外面就可以用了~PHP肯定是可以支持GET数组的
页: [1]
查看完整版本: 表单验证里,如何验证url里的get参数?