Очистить флэш-сессию после вызова setFlash? - PullRequest
3 голосов
/ 04 июня 2011

Я работаю через "Cake PHP 1.3 Application Development Cookbook", CH.1 - раздел «Разрешение входа в систему с именем пользователя или адресом электронной почты».

Проблема в том, что при входе в систему с использованием электронной почты, даже если вы успешны, флэш-сообщение для «Неверная учетная запись» уже было установлено компонентом Auth.Поэтому мне нужно сбросить это сообщение в действии входа в систему контроллера пользователей после успешного входа в систему по электронной почте.Установка пустой строки не работает, так как отображается пустая оранжевая полоса.

Есть ли способ полностью сбросить флэш-сообщение?

Спасибо, Иона

Ответы [ 3 ]

14 голосов
/ 09 августа 2011

Чтобы сбросить флэш-сообщение с CakePHP 1.3, используя SessionComponent в контроллере:

$this->Session->delete('Message.flash');
5 голосов
/ 12 ноября 2011

Я использую это вместо кода выше.

$this->Session->delete('Message.auth');
0 голосов
/ 17 октября 2013

Если вас беспокоит сохранение сообщения в памяти после вызова функции Session-> flash () в представлении, то вам это не нужно. Внутри функции flash () сообщение очищается с помощью вызова this:

CakeSession::delete('Message.' . $key);

Так что вам не нужно удалять сообщение самостоятельно.

...