在Thinkphp中怎么做登陆的验证码

2025-04-27 07:58:18
推荐回答(3个)
回答1:

tp3.2.3中做的一个验证码的例子:
①模块Common/function:

function check_verify($code, $id = ""){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}

②控制器中添加:
public function index(){
$this->display();
}

public function verify_show(){
$config = array(
'fontSize' => 30, // 验证码字体大小
'length' => 4, // 验证码位数
'useNoise' => false, // 关闭验证码杂点
'fontttf' =>'5.ttf',
'useImgBg' => true,
);
$Verify = new \Think\Verify($config);
$Verify->entry();
}

public function verify_check(){
$verify = I('post.code');
if(!check_verify($verify)){
$this->error("亲,验证码输错了哦!");
}else{
$this->success('验证码测试成功!');
}
}

③模板中index.html
















回答2:

  1. 模板中的HTML:

  2. 点击刷新 的js

    function freshVerify()
    {  
        $('#verifyImg').src='__URL__/verify/'+Math.random(); 
    }

    3.控制器的验证处理:

    if($_SESSION['verify'] != md5($_POST['code']))
    {
        echo '验证码错误';    
    }
    else
    {
        //验证正确后你要进行的下一步操作        
    }

回答3:

ThinkPHP自带验证码的函数类,存放路径为:ThinkPHP/Lib/ORG/Util/验证码类
---------------------------------------------------------------
使用的时候只需在Index控制器中引入,方法如下:
public function verify() {
import ( "ORG.Util.Image" );
Image::buildImageVerify ( 4 );
}
---------------------------------------------------------------
在模板页面中调用方法如下:

---------------------------------------------------------------