2013-03-18 4 views
1

В настоящее время я храню содержимое корзины пользователя в сеансе. Проблема, я не хочу этой информации, которая хранится в:YII: Остановка YII от сеанса очистки при выходе из системы?

YII::app()->session['cart'] 

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

Возможно ли это?

ответ

2

Использование Yii::app()->user->logout(false). Он удалит только информацию, относящуюся к проверке, из сеанса и сохранит другие данные там.

+0

thank вы так много. – MrBii

0

Вы должны каким-то образом сохранить его. Но у вас есть альтернативный способ сэкономить.

[COOKIES] [http://www.yiiframework.com/doc/api/1.1/CHttpCookie], он сохраняется на клиентском сайте. но он не может получить его, если использование очистит файлы cookie.

I Мое мнение, Сохраните его в БД. Создайте таблицу для сеансов и используйте serialize, чтобы преобразовать строку _SESSION в строку, и когда пользовательский логин прочитает сеанс из БД и использует unserialize.

+0

Могу ли я не просто ОСТАНОВИТЬ YII от его очистки? – coderama

+0

Это в конечном итоге устранило мою проблему -> http://stackoverflow.com/questions/15480229/yii-session-id-changes-when-i-login-but-not-when-i-logout/15482359#15482359 – coderama

Смежные вопросы