У меня есть странная проблема, которая, похоже, происходит только в хроме. В основном я устанавливаю cookie для запоминания идентификатора, поэтому я могу представить своим пользователям правильную информацию, когда они посещают мой сайт.cakephp 2 cookie не работает только с Chrome или IE
В моем действии контроллера:
$currentcookie = $this->Cookie->read('mixes');
if ($currentcookie == '') {
//write a new cookie with a new id etc
} else {
//show them info relating to the id in the cookie
}
Так что, если это первый визит кого-то, если ($ currentcookie == «») должен вычисляться истинен и новый куки должен быть создан. Если уже есть файл cookie 'else', он запускается.
Я выводил идентификатор в представлении, поэтому я знаю, если он только что созданный, который должен быть при первом посещении, но должен оставаться неизменным при последующих посещениях.
Это работает на FF Opera и сафари, но странно не с хромом или IE. Я не закрываю браузер или что-то еще. Что мне не хватает?
NEW --- Вот как я читаю и пишу печенье:
$currentcookie = $this->Cookie->read('mixes');
$this->Cookie->write('mixes', array('idofthemix' => $newTempMixId));
В моей AppController я имею в перед фильтром:
$this->Cookie->name = 'tempmix';
$this->Cookie->time = '30 days'; // or '1 hour'
$this->Cookie->domain = 'localhost';
$this->Cookie->key = 'li8&*^iih^456%$^%[email protected]#@##@@:LLLkjljkjlj87^*&^*6768!£"&^*()%$&';
$this->Cookie->httpOnly = true;
Так он показывает в большинство браузеров, таких как tempmix [mixes] со значением Q2FrZQ% 3D% 3D.b8LRe4GareCnq54% 3D. просто не в Chrome или IE
Возможно ли, что название «идентификатор» конфликтует с некоторыми другими печенье быть установлен в проблемных браузерах? это что-то изменит, если вы используете действительно уникальный идентификатор типа «jgfchgmf655-id»? – Stuart
Нет, к сожалению, –
@crazysarah Как вы _writing_ the cookie –