В моем проекте, я пытаюсь получить доступ к данным сеанса из 2-х файлов, расположенных в 2-х разных каталогах:не может получить доступ к сессии данных
/site/page.extension.php <-- initializes the session and writes data to it
- also sets a cookie with session_id() and session_name()
/extension/ajax_handler.php <-- tries to access the session data, session_id()
- and session_name() are set via cookie and return the correct values
Теперь моя проблема в том, что даже если session_id() и session_name() одинаковы в обоих файлах, я не могу получить доступ к массиву session, он просто возвращает пустой массив.
Мой код: page.extension.php:
session_start();
setcookie("psc_session", session_id(), strtotime("+20 minutes"), "/");
setcookie("psc_session_name", base64_encode(session_name()), strtotime("+20 minutes"), "/");
$_SESSION['uid'] = system::current_user_id();
ajax_handler.php:
session_id($_COOKIE['psc_session']);
session_name(base64_decode($_COOKIE['psc_session_name']));
session_start();
print_r($_SESSION); // => array(0) { }
Я был бы очень признателен за любую помощь! Приветствую!
Update: Я попытался установить печенья Params сессии, используя это в page.extension.php:
$url = str_replace("http://", '', current_url(false)); // returns the current domain
session_set_cookie_params(10800, "/", $url, 0, 1);
Если я теперь получить доступ к session_get_cookie_params я получаю (в ajax_handler.php):
print_r(session_get_cookie_params()); // =>
Array
(
[lifetime] => 0
[path] =>/
[domain] =>
[secure] =>
[httponly] =>
)
Почему это происходит?
Что такое 'system :: current_user_id();'? – Neal
он просто возвращает числовой идентификатор пользователя, который в настоящее время вошел в систему (cookie) – n0pt3x
В чем причина этого интересного метода, который у вас здесь есть? – Neal