Работа с сессиями в Drupal
Прислано: palych063
сб, 21/10/2006 - 19:05
Всем привет, в ходе добавления своих скриптов в CMS появился вопрос. Каким образом происходит процесс работы сессий, т.е. как записываются сессии и как вытаскиваются сессии. По-любому есть какой-то готовый механизм, вот только не знаю в какую сторону копать =(, Да и если можно киньте ссылку на reference по Drupal в архиве, если конечно есть такой.
- palych063's blog
- Для комментирования войдите или зарегистрируйтесь
Сторона тут пока только одна - офсайт/handbook
- Для комментирования войдите или зарегистрируйтесь
есть ещё модуль session limit (посмотрите как он работает, может поможет)...
- Для комментирования войдите или зарегистрируйтесь
По поводу работы с сессиями вообще баян, или я что то не понимаю или чего то не знаю. Вообщем делаю банальную форму для ввода пользователем информации, эта форма отправляет информацию php скрипту, который обрабатывает приходящие данные, и на основе этих данных headerom кидает обратно на страницу.
При открытии session_start на форме, я не могу получить данные в php-скрипте =(, как только не старался, нашел способ работы через БД, но каждый раз из-за этого дергать базу вроде не правильно. Да и еще заметил одну вещь, если создаешь именованную сессию session_name() на любой форме, то вообще не могу залогиниться на drupal =((
Может кто сталкивался с такими проблемами, я в тупике.
Версия 4.7.4 если что
- Для комментирования войдите или зарегистрируйтесь
Тем, кто еще столкнется с этой проблемой.
Вот таким простым кодом из ноды можно получить массив, аналогичный массиву $_SESSION в php-скриптах.
<?php
global $user;
$session = unserialize($user->session);
?>- Для комментирования войдите или зарегистрируйтесь
Вот таким простым кодом из ноды можно получить массив, аналогичный массиву $_SESSION в php-скриптах.
<?php
global $user;
$session = unserialize($user->session);
?>А если юзер не авторизован? Будет работать такая конструкция?
- Для комментирования войдите или зарегистрируйтесь
А если юзер не авторизован? Будет работать такая конструкция?
У анонимов тоже сессия есть
- Для комментирования войдите или зарегистрируйтесь
Не поднимаю новую тему, т.к. вопрос такой же.
Но Ваш метод у меня не работает почему-то.
Мой модуль имеет только hook_block;
В нем для формирования $block['content'] использую другую функцию XXX(). Внутри XXX() $_SESSION['captcha'].
Функция XXX() формирует html-код, в котором каптча генерится скриптом captcha.php. В этом файле указано session_start() и запись идет в $_SESSION['captcha'].
1. Я попробовал написать внутри функции XXX()
<?php
global $user;
$session = unserialize($user->session);
var_dump($session);
?>В этом случае выдает bool(false)
2. Пробую написать
<?php
$session = $user->session;
var_dump($session);
?>выдает string(43) "captcha|s:0:"";dblog_overview_filter|a:0:{}"
Подскажите пожалуйста в чем дело?
- Для комментирования войдите или зарегистрируйтесь
ответ здесь
- Для комментирования войдите или зарегистрируйтесь
Всем привет. У меня такая проблема. Написал модуль, который берет переменную из $_GET и записывает в сессию. Но не работает. Пишу примерно так $_SESSION['var'] = "val". Работает только если неавторизован. Если же авторизоваться, то значение записывается, но при переходе на следующую страницу всегда остается то, которое было присвоено без авторизации. Я так понимаю сессия в базу записывается и оттуда всегда при переходе на страницу вытаскивается. Подскажите как сделать. Хотя бы как мне самому эту переменную в базу записать?
Только что заметил, что проблема только для uid=1. Для остальных нормально.
- Для комментирования войдите или зарегистрируйтесь






Комментарии