在项目目录下面生成captcha扩展 (需要安装composer来安装)
composer require topthink/think-captcha
2 安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步 *** 作
配置comfig.php文件:在comfig.php下面加个扩展
//验证码
'captcha'=>[
//字符集合
'codeset'=>'23456780qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',
//字体大小
'fontSize' =>18,
//是否花混淆曲线
'useCurve' =>true,
//图片高度
'imageH' =>40,
//图片宽度
'imageW' =>130,
//位数
'length' =>4,
//验证成功后是否重置
'reset' =>true,
],
3.刷新验证码功能 src路径在这里可以用框架自带的也可以直接访问img方法
<img id="captcha_img" src="{:captcha_src()}" alt="验证码" onclick="refreshVerify()"><a
href="javascript:refreshVerify()">点击刷新</a>
在js《script》标签部分加上刷新事件
function refreshVerify()
{
var ts = Date.parse(new Date() )/1000
console.log(ts)
$('#captcha_img').attr('src','/captcha?id='+ts)
}
4.在控制器里用TP验证自带的方法
在你的登录的控制器里面加入
4.1在头部引入 use think\captcha\Captcha
//该方法引入img图像 宽高可以再img用css直接控制!
public function img() {
$captcha = new Captcha()
return $captcha->entry()
}
// 检测输入的验证码是否正确,$code为用户输入的验证码字符串,$id多个验证码标识
function check_verify($code, $id = ''){
$captcha = new Captcha()
return $captcha->check($code, $id)
}这个方法下面的验证要用到
在你的form验证码值发送的方法里加入 post提交 GET提交就把post改成get 表单验证码name是code
$request=request()
if ($request->isPost()){
if($request->post('code')){
if($this->check_verify($request->post('code'))){
$message= '验证成功'
}else{
$message= '验证错误'
}
}else{
$message= '没有输入验证码'
}
}
照以上做没有任何问题
利用TP5框架生成验证码需要安装captcha扩展,可以利用composer来安装:composer require topthink/think-captcha
安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步 *** 作
配置comfig.php文件:
在html文件需要验证码的地方输入{:captcha_img()}验证就生成完毕了。
效果预览
2.如何刷新验证码
验证码有时候太模糊,用户希望切换下一张验证码,该如何 *** 作呢?
验证的扩展和配置如上,需要修改html部分。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)