ajax实现登录

本文介绍了一个简单的用户登录系统的实现过程,包括前端使用jQuery进行Ajax请求,后端通过PHP验证用户输入,并利用验证码确保安全性。
1.js
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
<script>
    $('.but').click(function(){
        var username = $('#username').val();
        var password = $('#password').val();
        var yanz = $('#yanz').val();
        var __token__ = $('#__token__').val();
        $.ajax({
            url:'http://www.wenk.com/index.php/logins',
            type:'post',
            data:{username:username,password:password,yanz:yanz,__token__:__token__},
            success:function(res){
                if (res.code==200){
                    // location.href='menu';
                    return json('登陆成功');
                }else{
                    return json(res.msg);
                }
            }
        })
    })
</script>

控制器

public function logins(){

        $data = $this->request->param();
        $obj = new Ser();
        $obj->check($data);
        $error = $obj->getError();
        if (!empty($error)){
            return json(['msg'=>$error]);
        }
        //验证码验证
        $yanz = $this->request->param('yanz');
        if(!captcha_check($yanz)){
            return json(['msg'=>'验证码不正确']);
        };
        //账号密码验证
        $username = $this->request->param('username');
        $obj = new Reginter();
        $res = $obj->logins($username);
        if ($res){
            if ($res->password == $data['password']){
                Session::set('username',$res->username);//session

                #记录日志信息
                Log::write($username.'登录成功','info');
                return json(['code'=>200,'msg'=>'登陆成功']);
            }else{
                return json(['msg'=>'密码错误']);
            }
        }else{
            return json(['用户名不存在']);
        }
    }

 模型

protected $table = 'reginter';

    public function logins($username){
        return $this->where('username', $username)->find();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值