tp中php验证码程序,thinkPHP 验证码生成与验证
您现在的位置是:网站首页>>PHP>>thinkPHP
thinkPHP 验证码生成与验证
发布时间:2018-12-06 13:34:11作者:wangjian浏览量:842点赞量:0
在thinkPHP中实现验证码使用了think-captcha扩展包
1:安装think-captcha扩展包
使用Composer进行安装think-captcha拓展,如果你没有安装Composer的话,可以参考Composer 安装composer require topthink/think-captcha
2:生成验证码
在控制器中添加一个验证码方法,例:<?php
namespace app\index\controller;
use think\captcha\Captcha;
class Index
{
public function verify()
{
$captcha = new Captcha();
return $captcha->entry();
}
}
在浏览器上访问verify方法对应的方法,例:http://local.tp.com/index/verify
浏览器显示效果如下
这时候验证码生成成功
注意:
如果你需要在一个页面中生成多个验证码的话,entry方法需要传入可标识的信息(数字或者字符串)$captcha = new Captcha();
return $captcha->entry(1);
验证码的配置参数
参数描述默认codeSet验证码字符集合略
expire验证码过期时间(s)1800
useZh使用中文验证码false
zhSet中文验证码字符串略
useImgBg使用背景图片false
fontSize验证码字体大小(px)25
useCurve是否画混淆曲线true
useNoise是否添加杂点true
imageH验证码图片高度,设置为0为自动计算0
imageW验证码图片宽度,设置为0为自动计算0
length验证码位数5
fontttf验证码字体,不设置是随机获取空
bg背景颜色[243, 251, 254]
reset验证成功后是否重置true
例:$config = [
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 5,
// 关闭验证码杂点
'useNoise' => true,
];
$captcha = new Captcha($config);
return $captcha->entry();
3:验证码在模板中显示
4:验证码验证// 检测输入的验证码是否正确,$value为用户输入的验证码字符串
if( !captcha_check($value ))
{
// 验证失败
}
如果你在页面上同时生成了多个验证码,则可以使用// 检测输入的验证码是否正确,$value为用户输入的验证码字符串,$id为验证码标识
if( !captcha_check($value, $id ))
{
// 验证失败
}
5:实现验证码实例
(1)控制器中<?php
namespace app\admin\controller;
use think\captcha\Captcha;
use think\Controller;
use think\facade\Request;
class Index extends Controller
{
public function verify()
{
$config = [
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 5,
// 关闭验证码杂点
'useNoise' => true,
];
$captcha = new Captcha($config);
return $captcha->entry();
}
public function index()
{
$has_text = Request::has('text','post');
if($has_text){
$text = Request::post('text');
if( !captcha_check($text))
{
echo '验证失败';
// 验证失败
}else{
//验证成功
echo '验证成功';
}
}else{
return $this->fetch()
}
}
}
模板中
点击刷新
//刷新验证码
function changeVer(){
document.getElementById("verImg").src="{:url('index/verify')}?tmp="+Math.random();
}
现象如下
0
+1
总结
以上是生活随笔为你收集整理的tp中php验证码程序,thinkPHP 验证码生成与验证的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: matlab 十六进制数组,【MATLA
- 下一篇: php分布式cache,thinkPHP