表单验证问题
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并没有获取过来,我有点晕,请问为什么。 md5 过以后就不是明文了呀,变成 md5 以后的密文了。 本帖最后由 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一次。 再补一下次吧。没人回答了。 应该是不需要了呀,如果得到的确实是明文,那就再 md5 一次吧,呵呵 我现在的情况是set_value()里是md5的东西。
但在input->post()中还是没办法得到加密后的数据。
请问没有办法直接得到set_value里的值吗? 6# yuwen002 <<professional codeigniter>>里面提到了一个处理加密的方法:
function db_clean($string,$size=255){
return xss_clean(substr($string,0,$size));
}
这个可以 在 post() 得到结果后再 md5 一下不行吗?
这个新版的表单验证类我还没使用过,老版本的是会自动 md5 的。 嗯。那现在只能用这个办法了。不过还是谢谢各位的解答。
CI继续努力中。
页:
[1]