企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
thinkphp5.0.3的验证码相比,thinkphp3,2,3,我觉得好用的多了,因为我下载的是thinkphp5.0.3核心板,为了 以后使用方便,我再次从官网下载了thinkphp5.0.2完整版,之后把think5.0.2下面的真个vendor问价夹拷贝到了 thinkphp5.0.3版本中,当然也可以用什么下载什么,我为了省事就直接拷贝了 第一步:使用验证码, <img id="code_img" align="top" src="{:captcha_src()}" title="点击切换验证码"> //这样就可以了 //jquery 点击改变验证码写法 $('#code_img').click(function() { var imgUrl = "{:captcha_src()}" //这种写法,我发现除了谷歌浏览都不好使,请看下面补充说明 $(this).attr('src', imgUrl); }); 第二步:配置验证码, config.php文件数组中加入验证码配置 //分页配置 'paginate' => [ 'type' => 'bootstrap', 'var_page' => 'page', 'list_rows' => 15, ], //验证码配置 'captcha' => [ // 验证码字符集合 'codeSet' => '123456789abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字体大小(px) 'fontSize' => 24, // 是否画混淆曲线 'useCurve' => true, // 验证码图片高度 //'imageH' => 30, // 验证码图片宽度 //'imageW' => 100, // 验证码位数 'length' => 4, // 验证成功后是否重置 'reset' => true ], 第三本:检验验证码 if (!captcha_check($captcha)) $this->error('验证码错误!'); //控制器检验方法 但是请注意:我遇到问题了! 不知道大家有没有这样的问题;我这样写出来的验证码,不切换验证码的时候是可以用的,但是一旦切换验证码 以后就一直提示我验证码错误;因为时间问题,我没有去找具体的原因,这里我给出一个解决的办法,如下 第一步:使用验证码, <img id="code_img" align="top" src="{:captcha_src($id = 'code1')}" title="点击切换验证码"> //这样就可以了 //jquery 点击改变验证码写法 $('#code_img').click(function() { var imgUrl = "{:captcha_src($id = 'code1')}" //code1为可变的,用在哪里就起醒目的名字 $(this).attr('src', imgUrl); }); 第二步:同上; 第三步:检验验证码 $captcha = input('post.code') ? input('post.code','','trim') : $this->error('请输入验证码!'); if (!captcha_check($captcha, 'code1')) $this->error('验证码错误!'); 这样就完美的使用thinkphp5的验证码类了,如何切换能能正确验证了 注意:点击切换验证码补充写法 $('#code_img').click(function() { var imgUrl = "{:captcha_src($id = 'code1')}" imgUrl = imgUrl.substr(imgUrl, imgUrl.indexOf('.html', imgUrl)) + '/' +Math.random()+'.html'; $(this).attr('src', imgUrl); });