Laravel 5.4.*中验证码类的使用

本文详细介绍如何在Laravel项目中集成并使用gregwar/captcha扩展包来生成图片验证码,包括配置composer.json文件、更新Composer、创建验证码的方法及在前端显示验证码等步骤。

1.然后在你的laravel框架根目录的composer.json文件中加入下面的东西

"require": {  
        "php": ">=5.6.4",
        "laravel/framework": "5.4.*",
        "laravel/tinker": "~1.0",  
        "gregwar/captcha": "1.*"  //这一行是重点,上面三行,你文件中都有
    }, 

2

2.使用Git Bash更新composer

$ composer update

composer update

3.更新完成后就会看到自己的根文件夹里边的/vendor下会有gregwar文件夹扩展包

3

4.开始作图

在你需要产生验证码的控制器中:
①命名空间写完了,写这个

use Gregwar\Captcha\CaptchaBuilder;//

②方法中这样写

 //形成验证码方法,楼主试验了几次,这个产生的返回值是写在img标签的src那里的
    public function getCheckCode()
    {
        //创建验证码对象
        $builder = new CaptchaBuilder;
        $builder->build($width = 120, $height = 40,$font = null);
        $phrase = $builder->getPhrase();
        Session::flash("checkcode", $phrase);
        header("Cache-Control: no-cache, must-revalidate");
        header("Content-Type: image/jpeg");
        return $builder->output();
    }

③:模板文件中这样写

<div class="row cl">
     <label class="form-label col-xs-3"><i class="Hui-iconfont">&#xe63f;</i></label>
     <div class="formControls col-xs-8">
          <input name="checkcode" class="input-text radius size-L" type="text" placeholder="验证码" value="" style="width:150px;">
          <img src="{{URL('/admin/login/getCheckCode')}}" id="checkcodeimg" class="radius"> <a id="kanbuq" href="javascript:;" onClick="againCode()">看不清,换一张</a>
     </div>
</div>

④:js部分这样写

<script type="text/javascript">
    function againCode(){
        $.ajax({
            url: '/admin/login/getCheckCode',
            type: 'GET',
            success: function(data){
                if(data){
                    var urls =$('#checkcodeimg').attr('src');
                    $("#checkcodeimg").attr('src', urls);
                }else{
                    alert("获取验证码失败!");
                }
            }
        })
    }
</script>

注意,路径根据实际情况更换自己的请求路径

5.效果

效果

6.点击”看不清”更换不能的验证码

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值