在类中存储$ _SESSION变量

时间:2011-03-12 09:15:12

标签: php session

我希望能够从我的类中存储$ _SESSION变量,但它似乎不起作用。我搜索了stackoverflow并用google搜索了一段时间,并且无法找到足够的信息来确定这是否可行。

我可以在班级中存储$ _SESSION变量吗?我似乎无法在课堂外访问它。

class myClass {

    public function authorizeLogin($email,$password) {

        global $_SESSION;

        //Query to authorize user
        $q_auth = $this->query("
            SELECT first_name,last_name,email,date_registered,access_id
            FROM users
            WHERE email = '$email' AND password = '$password'");

        $authorized = $q_auth ? 1 : 0 ;

        if($q_auth) {
            //Loop through values and assign in session
            foreach($q_auth as $key => $value) {
                $_SESSION[$key] = $value;
            }
        }

        return $authorized;
    }

}

2 个答案:

答案 0 :(得分:2)

$_SESSION是超全局的 - 无需使用global

您的代码看起来很好 - 但您是否运行了session_start();

答案 1 :(得分:1)

我可能错了,但我相信你必须在开始会议之前加入课程。然后创建您的对象。由于一些奇怪的原因,我无法解释,我记得在某个地方听到这个。

所以顺序应该是include(“myClass.class.php”);在session_start(); $ myClass = new myClass();