先新建一个公共控制器,用于放置验证码的实例化代码(不用新建控制器也行,任意公共控制器都可以)。
例如:PublicController.class.php
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
namespace Home\Controller;
use Think\Controller;
class PublicController extends Controller{
public function index(){
$this->display();
}
Public function code(){
$config = array(
'fontSize' => 30, // 验证码字体大小
'length' => 3, // 验证码位数
'useNoise' => true, // 关闭验证码杂点
);
$verify = new \Think\Verify($config);
$verify->entry();
}
}
?>
然后再网页模板里面需要插入验证码的地方插入代码(引用上方的实例化模型函数,onclick属性是为了点击图片换一张验证码):
<IMG onclick="this.src=this.src+'?'+Math.random()" src="__APP__/Home/Public/code" >
在FROM表单的action提交位置写以下代码测试验证码即可:
public function do_login(){
if(!empty($_POST)){
$verify = new \Think\Verify();
if(!$verify->check($_POST['code'])){
echo "验证码错误";
}else{
echo "验证码正确";
}
}
}
验证输入的验证码正确显示正确,错误显示错误。