qianLL

许多系统的登录都有验证码,而如果使用thinkPHP框架搭建网站的话,验证码的生成和验证就比较容易了

1.生成验证码

thinkPHP有对应生成验证码的方法


要使用验证码,需要导入扩展类库中的ORG.Util.Image类库和ORG.Util.String类库。我们通过在在模块类中增加一个verify方法来用于显示验证码:
  1. Public function verify(){
  2.     import(\'ORG.Util.Image\');
  3.     Image::buildImageVerify();
  4. }

 

 

2.验证验证码
每次生成验证码的时候,就会通过SESSION记录本次的验证码的md5后的字符串信息,所以,要检查验证码是否正确,我们只需要在Action中使用下面的代码就行了:
    1. if($_SESSION[\'verify\'] != md5($_POST[\'verify\'])) {
    2.    $this->error(\'验证码错误!\');
    3. }
注意,这里的verify名称取决于你的验证码的verifyName参数的值。buildImagesVerify方法不支持中文验证码的显示,如果需要显示中文验证码,请使用
GBVerify方法,参数如下:


用法示例:
  1. Public function verify(){
  2.     import("ORG.Util.Image");
  3.     Image::GBVerify();}

 

  显示效果如下



如果无法显示验证码,请检查:
PHP是否已经安装GD库支持;
输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出);
Image类库是否正确导入;
如果是中文验证码检查是否有拷贝字体文件到类库所在目录;

分类:

技术点:

相关文章: