编程语言
首页 > 编程语言> > php – 更新cookie值而不更改其到期日期?

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

作者:互联网

更新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,setcookie
来源: https://codeday.me/bug/20190629/1330548.html