繁体   English   中英

更新cookie值而不更改其到期日期?

[英]Update a cookie value without changing its expiry date?

更新cookie值而不更改其到期日期?

$c = $_COOKIE["count"];
$c++;
if (isset($_COOKIE["count"])) {
    setcookie("count", $c);
}
else
{
    setcookie("count", $c, time() + 86400, '/');
}

您可以在不更新其到期日期的情况下更新cookie值的唯一方法是将有效期自身添加到值中; 那是因为浏览器只向您发送cookie的名称和值。

if (isset($_COOKIE['count'])) {
    list($exp, $val) = explode('|', $_COOKIE['count'], 2);
    ++$val;
} else {
    $exp = time() + 86400;
    $val = 1;
}
setcookie('count', "$exp|$val", $exp, '/');

你不能 - PHP不知道cookie什么时候到期也不知道javascript(除非你将到期时间复制 cookie内容中)。

您可以在其他cookie中保存到期日期。 更新cookie时,只需从中读取有效期,并在更新中使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM