Не удается получить доступ к массиву сеанса с помощью php - PullRequest
3 голосов
/ 17 сентября 2011

Я работаю в подпапке на моем сайте: www.example.com/subfolder

Теперь я хочу установить сеанс, доступный только на www.example.com/subfolder

.

Для этого я сделал следующее:

private $sessiontimeout= 10800;
        private $subdomain = '/subfolder/';
        private $website = 'example.com';    

function __construct ($table)
            {print_r( $_SESSION );
                $this->table=$table;
                $this->savedusername= $this->getsession('logbook');
                session_set_cookie_params ( $this->sessiontimeout, $this->subdomain, $this->website, 0, 1 );
                ini_set('session.use_only_cookies', 1);
                if (!is_null ($this->savedusername))
                {
                    $resultobj=selectquery ("select last_login_one from $this->table where username=?", "s", (array) $this->savedusername);
                    if ($resultobj['obj']->num_rows() > 0)
                    {
                        $this->last_login=$resultobj['data'][0]['last_login_one'];
                    }
                }
            }

Теперь, когда я печатаю массив $ _SESSION, он ничего не отображает, даже 'Array ()'.

Пожалуйста, что я не правильно делаю?

Спасибо

Ответы [ 3 ]

4 голосов
/ 17 сентября 2011

Использовали ли вы session_start () где-нибудь до этого кода?

Я также предлагаю использовать var_dump() вместо print_r() для отладки значений, поскольку print_r не выводит нулевые значения, поэтому иногда возникает некоторая путаница.

1 голос
/ 17 сентября 2011

_SESSION суперглобальный.Это в глобальном масштабе.

Итак, вы, вероятно, забыли session_start();

1 голос
/ 17 сентября 2011

Сначала вам нужно позвонить session_start (если только для session.auto_start не установлено значение 1).

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