Laravel ajax 用户登录模块代码

Laravel ajax 用户登录模块代码

代码实例qingyu2020-09-17 1:42:571140A+A-

Laravel ajax 用户登录模块代码

  用ajax post提交数据。注意视图模板要带上@csrf

div class="phpcn-form">
        @csrf
        <div class="phpcn-form-item" style="color: gray;">
            <h2>QINYUCMS 后台管理系统</h2>
        </div>
        <hr>
        <div class="phpcn-form-item">
            <label class="phpcn-form-lable">用户名</label>
            <div class="phpcn-input-block">
                <input type="text" class="phpcn-input" id="username">
            </div>
        </div>
        <div class="phpcn-form-item">
            <label class="phpcn-form-lable">密&nbsp;&nbsp;&nbsp;&nbsp;码</label>
            <div class="phpcn-input-block">
                <input type="password" class="phpcn-input" id="pwd">
            </div>
        </div>
        <div class="phpcn-form-item">
            <label class="phpcn-form-lable">验证码</label>
            <div class="phpcn-input-block">
                <input type="text" class="phpcn-input" id="verifycode">
            </div>
            <img src="/admins/account/captcha" id="captcha" style="border: 1px solid #cdcdcd;cursor:pointer;" onclick="reload_captcha()">
        </div>
        <div class="phpcn-form-item">
            <div class="phpcn-input-block">
                <button class="phpcn-button" onclick="dologin()">登录</button>
            </div>
        </div>
    </div>
</div>

  视图模板js ajax代码:

<script>
    function reload_captcha(){
        $('#captcha').attr('src','/admins/account/captcha?rand='+Math.random());
    }
    function dologin() {
        var username = $.trim($('#username').val());
        var pwd = $.trim($('#pwd').val());
        var verifycode = $.trim($('#verifycode').val());
        var _token = $('input[name="_token"]').val();
        if(username==''){
           return layer.alert('请输入用户名',{icon:2});
        }
        if(pwd==''){
            return layer.alert('请输入密码',{icon:2});
        }
        if(verifycode==''){
            return layer.alert('请输验证码',{icon:2});
        }
        $.post('/admins/account/dologin',
            {username:username,pwd:pwd,verifycode:verifycode, _token: _token},
            function(res){
                if(res.code>0){
                    reload_captcha();
                    return layer.alert(res.msg,{icon:2});
                }
                layer.alert(res.msg,{icon:1});
                setTimeout(function () {
                    window.location.href = '/admins/home/index'
                },1000)
            },
            'json');
    }
</script>

  控制器代码:

public function dologin(Request $req)
{
    $username = $req->username;
    $pwd = $req->pwd;
    $verifycode = $req->verifycode;
    if($username==''){
        exit(json_encode(array('code'=>1,'msg'=>'用户名不能为空')));
    }
    if($pwd==''){
        exit(json_encode(array('code'=>1,'msg'=>'密码不能为空')));
    }
    session_start();
    if($verifycode!=$_SESSION['code']){

        exit(json_encode(array('code'=>1,'msg'=>'验证码错误')));
    }

    //数据库中验证用户
    $res = Auth::attempt(['username'=>$username,'password'=>$pwd,'status'=>0]);
    if(!$res)
    {
        exit(json_encode(array('code'=>1,'msg'=>'登录失败')));
    }
    //更新用户登录信息
    DB::table('xpcms_admin')
        ->where('username',$username)
        ->update(['login_lastip'=>$req->getClientIp(),'login_lasttime'=>time()]);
    exit(json_encode(array('code'=>0,'msg'=>'登录成功!')));

}

注意:使用Auth::attempt 验证,要在app/User.php 指定表名


点击这里复制本文地址 欢迎来到大黄鸡源码分享网
qrcode

大黄鸡源码编程网 © All Rights Reserved.  
网站备案号:闽ICP备18012015号-4
Powered by Z-BlogPHP
联系我们| 关于我们| 广告联系| 网站管理