Пользовательские переменные сеанса, сохраняющиеся после удаления - PullRequest
2 голосов
/ 13 марта 2012

У меня небольшие проблемы с Drupal 7 и удалением установленных сессионных переменных.

Вещи работают так, как ожидалось, при добавлении элемента (через: $_SESSION['products']['p123'] = 'my product'), а затем при удалении (через:unset($_SESSION['products']['p123'])) - что оставило бы меня с пустым $_SESSION['products'] массивом.

Но когда я пытаюсь добавить другой элемент (например, $_SESSION['products']['pABC'] = 'another product'), у меня внезапно появляются и 'p123', и 'pABC' в качестве ключей в моем массиве $_SESSION['products'], даже после первоначального удаления 'p123'.

Должен ли я явно сообщить Drupal 7, что я удалил элемент из моих СЕССИЙ и сохранить это изменение?У меня не было этой проблемы с использованием Drupal 6.

1 Ответ

1 голос
/ 13 марта 2012

Оказывается, это произошло из-за перехода с HTTP на HTTPS.

Я делал свои добавления на странице, обслуживаемой по HTTP, и мои удаления на странице, обслуживаемой HTTPS. Похоже, что drupal хранит отдельные переменные сеанса как для безопасных, так и для небезопасных соединений, и после этого перехода небезопасный сеанс будет защищен.

...