次のコードを使用して設定し、CakePHP で Cookie を読み取ります。
public $components = array('Cookie');
public function beforeFilter(){
parent::beforeFilter();
$this->Cookie->name = 'saved_times';
$this->Cookie->time = '1 year';
$this->Cookie->domain = 'localhost';
$this->Cookie->path = '/';
$this->Cookie->httpOnly = false;
$this->Cookie->key = '+%)asG_~s*SAr&bSIq34$@11qe@s!@v!@*(XSL#$XOw!a232d#HKis~#^';
$this->Cookie->secure = false;
}
public function save_position($time){
if($this->Auth->user('id')){
//save to the database
return true;
}else{
//set browser cookie
$this->Cookie->write('time', $time);
echo "set", $this->Cookie->read('time');
}
}
public function read(){
echo $this->Cookie->read('time'), "test";
print_r($this->Cookie->read('time'));
}
問題は、私が見ているクッキーを設定すると、「設定」とクッキーの値がエコーアウトされることですが、訪問する/read/
と「テスト」しか表示されず、クッキーの値が表示されません。また、Chrome で Cookie ビューアを使用してCAKEPHP
いますが、自分のドメインの Cookie しか表示されませんsaved_times
。Cookieが設定されているとは思いませんが、理由はわかりません