Cakephp cookie всегда удаляется автоматически - PullRequest
0 голосов
/ 09 августа 2011

У кого-нибудь есть идея, почему cookie в Cakephp всегда удаляются автоматически после завершения функции?

Я пытаюсь написать cookie в, скажем, функции abc, со следующим:

$this->Cookie->write('referal', $ref);

Перед этим в контроллере приложения перед фильтром я инициализировал cookie следующим образом:

$this->Cookie->name = 'renttycoons';
$this->Cookie->time = 604800; // or '1 week'
$this->Cookie->path = '/';
$this->Cookie->domain = 'rent.local';
$this->Cookie->key = 'qSI232qs*&sXOw!';

Но как только выполнение функции закончилось, файл cookie был пуст. когда я пытаюсь прочитать файл cookie до того, как функция abc заканчивается, он был там. В любом случае не было метода удаления cookie.

1 Ответ

2 голосов
/ 10 августа 2011

Да, потому что работает Cookie в Cake: когда вы используете Cookie-> write (), он не записывает напрямую в cookie, потому что cookie находится в браузере пользователя.Только пока представление не будет отправлено, файл cookie, который вы написали.Поэтому, когда вы перенаправляете, (я думаю, что cookie не отправляются и не удаляются, потому что представление не отображается), новый запрос содержит старые данные cookie.

Если вы хотите сохранить некоторые общие данныев приложении для торта, и уникальное для каждого посетителя, используйте SessionComponent.Это выглядит почти так же, как Cookie: $this->Session->write('referal', $ref); и $this->Session->read('referal');

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