我是cakephp 3.0的新手。我已成功创建了一个cookie,但我想在一分钟后销毁该cookie。到目前为止我做了: -
public function register_cookie(){
$data = "Hello world!";
$this->Cookie->write('dataFetch', $data, true, time() + (60 * 1));
}
public function getcookie() {
$cookiedata = $this->Cookie->read('dataFetch');
echo $cookiedata;
}
但是当我在 getCookie 功能中一分钟后,它仍会打印,即#34; Hello World" 我希望一分钟后cookie过期。 在此先感谢:)
答案 0 :(得分:0)
首先,您应该检查Cookie到期日期是否设置正确。例如,在Chrome中(在inspect元素触发控制台栏之后),转到Application \ Storage \ Cookies \ Localhost并检查cookie。
在cakephp中,您可以删除带有
的cookie$this->Cookie->delete('bar');
此外,您可以通过将过期日期设置为过去的时间() - 1
来销毁Cookie答案 1 :(得分:0)
在cakephp 3.x中,文件说你可以拥有这些参数
CookieComponent::write(mixed $key, mixed $value = null)
但在cakephp 2.x中,它用来取这些参数
要设置到期时间,您必须像这样设置配置
$this->Cookie->config([
'expires' => '+10 days',
]);
所以你的代码就像这样
public function register_cookie(){
$this->Cookie->config([
'expires' => '+1 minute',
]);
$this->Cookie->configKey('dataFetch', 'encryption', false);
$data = "Hello world!";
$this->Cookie->write('dataFetch', $data);
}