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

标签 php setcookie

更新 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 值而不更改其到期日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419068/

相关文章:

javascript - 如果 self.location.href!=top.location.href 设置 cookie

php - 基于与 mySQL 表的正匹配将数组中的某些字符串组合在一起

php - 父子关系,无需使用PHP获取并重用返回值

php - 复制后编码混淆

cookies - 应用同步 : How set header in response?

cookies - 如何在 NodeJS 中设置 cookie 的过期时间?

Tomcat - cookie 值中包含 ':' 的 cookie

php - Doctrine - Managed Entity - 默认情况下不管理获取的实体

php - htaccess 阻止访问 .php 并且只允许使用 RewriteRule

amazon-web-services - AWS API网关: Use 302 redirect and set-cookie header