下载验证码库
http://packagist.p2hp.com/packages/gregwar/captcha
cmd项目目录输入:
composer require gregwar/captcha
更新composer update
1、下载之后将引入验证码包中的类
use Gregwar\Captcha\CaptchaBuilder;
路由要设置一个参数,控制器接收形参,视图则传递一个数(实参),该数,作为js代码的随机数,则用来替换图片验证码
2、控制器编写验证码的规则
$builder = new CaptchaBuilder;
//可以设置图片宽高及字体
$builder->build($width = 100, $height = 40, $font = null);
//获取验证码的内容
$phrase = $builder->getPhrase();
//把内容存入session
Session::flash('milkcaptcha', $phrase);
//生成图片
/* header("Cache-Control: no-cache, must-revalidate");
header('Content-Type: image/jpeg');*/
$builder->output();
3、视图编写
<a onclick="javascript:re_captcha();" >
<img src="{{ action('ValidatorController@index',['tmp'=>1]) }}" alt="验证码" title="刷新图片" width="100" height="40" id="aa" border="0">
</a>
<script>
function re_captcha() {
$url = "{{ URL('validator') }}";
$url = $url + "/" + Math.random();
document.getElementById('aa').src=$url;
}
</script>
4、提交数据,处理数据
$userInput = \Request::get('captcha');
if (Session::get('milkcaptcha') == $userInput) {
//用户输入验证码正确
return '您输入验证码正确';
} else {
//用户输入验证码错误
return '您输入验证码错误';
}