Хранение переменной $ _SESSION в классе - PullRequest
0 голосов
/ 12 марта 2011

Я хочу иметь возможность хранить переменную $ _SESSION из моего класса, но, похоже, она не работает. Я долго искал stackoverflow и гуглил и не смог найти достаточно информации, чтобы узнать, возможно ли это или нет.

Могу ли я сохранить переменную $ _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 ]

2 голосов
/ 12 марта 2011

$_SESSION является суперглобальным - не нужно использовать global.

Ваш код выглядит хорошо - но вы запустили session_start();?

1 голос
/ 12 марта 2011

Я могу ошибаться, но я считаю, что вы должны включить класс, прежде чем начать сеанс. Затем создайте свой объект. По какой-то странной причине, которую я не могу объяснить, я помню, что слышал это где-то.

Таким образом, порядок должен включать («myClass.class.php»); session_start (); $ myClass = new myClass ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...