thinkphp5.1验证码及验证码刷新功能的实现详解

  本文实例讲述了ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能。分享给大家供大家参考,具体如下:

  验证码现在是用户登录、支付等很多环节的必备元素,ThinkPHP5&5.1给我们提供了验证码的生成方式,也是非常的简单,在这里写一个完整的验证码验证的使用方法,供大家参考。

  前台用户在登录时候需要验证码验证才能登录。首先使用Composer安装think-captcha扩展包:

composer require topthink/think-captcha

  在需要显示验证码的地方:

<div class="row cl">
    <div class="formControls col-xs-8 col-xs-offset-3">
        <input class="input-text size-L" type="text" placeholder="验证码" name="captcha"  style="width:150px;">
        <img src="{:url('Login/verify')}" class="reloadverify" >
    </div>
</div>

  其中verify是生成验证码的方法:

public function verify()
{
    $config =    [
        // 验证码字体大小
        'fontSize'    =>    20,
        // 验证码位数
        'length'      =>    3,
        // 关闭验证码杂点
        'useNoise'    =>    false,
    ];
    $captcha = new Captcha($config);
    return $captcha->entry();
}

    点击验证码刷新:

<script src="/admin/lib/layer/2.4/layer.js"></script>
<script>// 刷新验证码
$(function() {
    var verifyimg = $(".reloadverify").attr("src");
    $(".reloadverify").click(function() {
        if (verifyimg.indexOf('?') > 0) {
            $(".reloadverify").attr("src", verifyimg + '&random=' + Math.random());

        } else {
            $(".reloadverify").attr("src", verifyimg.replace(/?.*$/, '') + '?' + Math.random());
        }
    });

    $("#loginform").submit(function(e){
        var res = $(this).serialize();
        var url = "{:url('Login/verify')}";
        $.ajax({
            url:  url,
            data: res,
            type: 'post',
            success:function(data){
                if (data.code == 1) {
                    layer.alert(data.msg,{icon:6},function (index) {
                        layer.close(index);
                        window.location.href = "{:url('Index/index')}";
                    });
                } else{
                    layer.alert(data.msg,{icon:5},function (index) {
                        layer.close(index);
                        window.location.reload();
                    });
                }
            }
        });
        return false; // 阻止表单跳转
    });
});
</script>


上一篇:最后一页

下一篇:tp5.1框架json输出格式设置