检测登录状态,防止重复登录

检测登录状态,防止重复登录

class Base extends Controller
{
    protected function initialize()
    {
        parent::initialize();   // 继承父类初始化【防止子类重写】
        define('USER_ID',Session::get('user_id'));
    }
    // 判断用户是否登录,放在后台入口:index/index
    protected function isLogin()
    {
        if (empty(USER_ID))
        {
            $this->error('用户未登录,无权访问',url('login/login/login'));
        }
    }
    // 防止用户重复登录  login/login
    protected function alreadyLogin()
    {
        if (!empty(USER_ID))
        {
            $this->error('用户已登录,请勿重复登录',url('index/index/index'));
        }
    }
}

最初初始化写的是

protected function _initialize()
    {
        parent::initialize();   // 继承父类初始化【防止子类重写】
        define('USER_ID',Session::get('user_id'));
    }

只是看到报错信息
Use of undefined constant USER_ID - assumed 'USER_ID' (this will throw an Error in a future version of PHP)

虽然将报错的地方加上引号就不报错了【查的】,但是访问不了login页面,会一直跳转到index页面,USER_ID已经存在了???
【分析的】
直到将 _initialize()改为initialize()【哦~tp5.0初始化为_initialize(),tp5.1初始化为 initialize()】难怪USER_ID一直报错,不起作用

posted @ 2021-11-28 18:14  涅槃bug  阅读(108)  评论(0)    收藏  举报