• 前台后台$.psot交互


    前台

    {include file='public/header' /}
    <body class="login-bg">  
        <div class="login layui-anim layui-anim-up">
            <div class="message">x-admin2.0-管理登录</div>
            <div id="darkbannerwrap"></div>      
            <form>
              <input name="username" type="text" placeholder="用户名">
              <hr class="hr15">
              <input name="password" type="password" placeholder="密码">
              <p id="infoerror" style="color:red;"></p>
              <hr class="hr15">
            </form>
            <button  id="loginbutton" class="layui-btn  layui-btn-lg layui-btn-fluid"  onclick="dologin()"><h3>登入</h3></button>
        </div>
    
    <script>
        function dologin() {
    
            var username = $("input[name='username']").val();
            var password = $("input[name='password']").val();
            if (username == '') {
                $("#infoerror").text('请填写用户名');
    
                return;
            }
            if (password == '') {
                $("#infoerror").text('请填写密码');
    
                return;
            }
            var data = {
                'username': username,
                'password': password
            };
            $.post("{:url('check')}", data, function (res) {
                if (res.code == 0) {
                    layer.msg(res.msg);
                    setTimeout("location.href='{:url('home/index')}'", 500);
    
                } else if (res.code == 1) {
                    $("#infoerror").text(res.msg);
                    return;
                }
                  else if (res.code == 2) {
                     $("#infoerror").html(res.msg);
                    return;
                }
            }, 'json');
        }
    </script>
    </body>
    </html>

    后台

    <?php
    namespace appadmincontroller;
    use appadmincommonBase;
    use thinkController;
    use thinkRequest;
    use thinkDb;
    use thinkSession;
    class Login extends Base
    {
        //首页
        public function index()
        {
            return $this->view->fetch('login');
        }
       /* 验证用户身份*/
        public function check()
        {
            if($this->alreadyLogin()){
                exit(json_encode(array('code'=>2,'msg'=>'用户'.Session::get('admin')['username'].'已登录,<a href='.url('home/index').'>点我跳转到管理界面</a>')));
            }
            $username = trim(input('post.username'));
            $password = trim(input('post.password'));
            if(!$username){
                exit(json_encode(array('code'=>1,'msg'=>'请填写用户名')));
            }
            if(!$password){
                exit(json_encode(array('code'=>1,'msg'=>'请填写密码')));
            }
            //从数据库查询到数组
            $data = Db::table('admin')->where('username',$username)->find();
    
            //如果查到为空
            if(!$data){
                exit(json_encode(array('code'=>1,'msg'=>'用户名不存在')));
            }
    
            //如果密码匹配
            if($data['password'] != md5($username.$password)){
                exit(json_encode(array('code'=>1,'msg'=>'密码错误')));
            }
            //验证通过
            //设置session
            Session::set('admin',$data);
            exit(json_encode(array('code'=>0,'msg'=>'登录成功')));
        }
    
        /*退出登录*/
        public function logout()
        {
            //删除session
            Session::delete('admin');
    
            //执行成功,并返回登录界面
            $this->success('注销成功,正在返回···','admin/login/index');
        }
    }
  • 相关阅读:
    [Java入门] 从键盘输入两个整数,求最小公倍数并输出
    【C#食谱】【面食】菜单3:用泛型替代ArrayList
    C# Stable Sort(稳固排序)
    【C#食谱】【面食】菜单4:List和LinkedList性能比较
    一个非常酷的应用:修改“开始”菜单的显示文本
    我的第一个5年计划
    C#语言重要常识
    决定执行力的49个细节
    .NET资源链接
    标准表达式中数据类型不匹配(Access 时间格式)
  • 原文地址:https://www.cnblogs.com/cl94/p/9121300.html
Copyright © 2020-2023  润新知