°

tp3.2处理用户登录逻辑

2019年课程规划及价格说明


PHP实战视频教程大全

核心代码如下:

public function  login(){
        if(IS_POST){



            //>>验证码进行判断
            $verify = new Verify();
            if(!$verify->check(I('post.captcha'))){
                $this->error('登录失败,验证码错误!');
            }


            //>>1.执行登录操作
            $managerModel =  D('Manager');
            /*
             * 如果登录成功, 返回 当前用户的id
             * 如果失败.. 返回
             * -1  : 用户名错误
             * -2  : 密码错误
             */
            $result = $managerModel->login(I('post.username'),I('post.password'));
            if($result>0){ //登录成功
//                echo '登录成功的id'.$result;
                //登录成功后将 用户名对应的id和用户名放到session
                $loginInfo = array(
                    'id'=>$result,
                    'username'=>I('post.username')
                );
                session('login_info',$loginInfo);

                //>>根据登录用户的id查询出用户对应的权限的url     用户==>角色==>权限==>url ,
                $sql = "select ia.url from itcast_manager im join itcast_role_auth ira on im.mg_role_id=ira.role_id join itcast_auth ia
on ira.auth_id=ia.id where im.mg_id=$result";
                $urls = $managerModel->query($sql);
                 session('auth_urls',$urls);




                $this->success('登录成功',U('Index/index'));
            }else{
                $errorInfo = '';
                if($result==-1){
                    $errorInfo = '用户名出错';
                }else if($result==-2){
                    $errorInfo = '密码出错';
                }
                $this->error('登录失败!'.$errorInfo,U('login'));//通过javascript实现.. back
            }

        }else{
            $this->display();
        }
    }
打赏
  喜欢