Вопрос по drupal, php, session – Как хранить и извлекать пользовательские переменные сеанса в Drupal 6?

12

Drupal использует пользовательский обработчик сеанса, который изменяет привычный ...:

$_SESSION['foo'] = 'bar';<br> echo $_SESSION['foo'];

...поведение. Вышеуказанная переменная сеанса "foo" не будет сохраняться от страницы к странице.

Многие комментарии и записи на форуме на Drupal.com поднимают проблему, заключающуюся в том, что Drupal использует собственный обработчик сеансов из соображений производительности и поддержки кластеризации серверов. Однако мне не удалось найти конкретные примеры, отвечающие на вопрос: «Вам нужно управлять своими собственными переменными сеанса на страницах в Drupal, и вы не хотите использовать файлы cookie»? Вот как ты это делаешь ... & quot;

У кого-нибудь есть опыт с этим? Я использую НЕ на внешних страницах Drupal, а на самих шаблонных страницах. Это для анонимного пользователя, а не для входа в систему. В этом случае поведение $ _SESSION соответствует ожиданиям.

Ваш Ответ

1   ответ
17

вот ответ - $ _SESSION работает как для аутентифицированных, так и для анонимных пользователей, как и ожидалось.if there are no other problems!

Я обнаружил, что у меня была следующая проблема; мой Drupal & quot; пользователи & quot; В таблице (или в моем случае «drupal_users») отсутствовал пользователь с UID, равным нулю («0»).

Drupal использует UID 0 для управления сеансами в базе данных через свой собственный обработчик сеансов. Если этого пользователя не существует в таблице (он должен быть там при установке по умолчанию), то Drupal не сможет прикрепить информацию о сеансе к анонимному пользователю.

Удалена неработающая ссылка на блог, изменена копия. jschrab
& Quot; & блог Quot; Ссылка на пост не работает.

Похожие вопросы