yuwen002 发表于 2009-3-27 10:16:30

表单验证问题

form_validation->set_rules(),这个方法中.最后一个参数可以加'tirm|required|md5',等等一些PHP的处理函数.
我现在有个疑惑,
例如:

<input name="password" type="password" />


$this->form_validation->set_rules('password', '密码', 'trim|required|md5');

我的密码这样检测,
但是获取的input值得是用 $this->input->post()来获取。但其中的md5并没有获取过来,我有点晕,请问为什么。

Hex 发表于 2009-3-27 11:20:10

md5 过以后就不是明文了呀,变成 md5 以后的密文了。

yuwen002 发表于 2009-3-27 11:32:06

本帖最后由 yuwen002 于 2009-3-27 20:59 编辑


<?php echo form_open('admin/adminhome'); ?>
<input type="password" name="password"
                           value="<?php echo set_value('password');?>" />
<?php echo form_close(); ?>


$this->form_validation->set_rules('password', '密码', 'trim|required|md5');
echo $this->input->post('password');


我在视图上输入的123456
结果打出来的还是123456请问这是为什么呢?
那不是验证没有用了嘛。
是不是。我的在使用input->post()的时候还要再md5一次。

yuwen002 发表于 2009-3-27 13:42:24

再补一下次吧。没人回答了。

Hex 发表于 2009-3-27 13:44:26

应该是不需要了呀,如果得到的确实是明文,那就再 md5 一次吧,呵呵

yuwen002 发表于 2009-3-27 14:08:07

我现在的情况是set_value()里是md5的东西。
但在input->post()中还是没办法得到加密后的数据。
请问没有办法直接得到set_value里的值吗?

zwldy001 发表于 2009-3-27 16:16:51

6# yuwen002 <<professional codeigniter>>里面提到了一个处理加密的方法:

function db_clean($string,$size=255){
return xss_clean(substr($string,0,$size));
}

这个可以

Hex 发表于 2009-3-27 17:28:45

在 post() 得到结果后再 md5 一下不行吗?
这个新版的表单验证类我还没使用过,老版本的是会自动 md5 的。

yuwen002 发表于 2009-3-27 21:00:34

嗯。那现在只能用这个办法了。不过还是谢谢各位的解答。
CI继续努力中。
页: [1]
查看完整版本: 表单验证问题