为什么要添加而不是更改 cookie?

Why cookies are added rather than changed?

我正在开发一个网站,每个用户都应该有自己的 ID。当我进入控制台时,我看到 id 是重复的而不是一个。这是正常的吗?

if (isset($_COOKIE['SESSION']) && (strlen($_COOKIE['SESSION']) === 32)) {
    $uid = $_COOKIE['SESSION'];
} else {
    $uid = openssl_random_pseudo_bytes(16);
    $uid = bin2hex($uid);
}
setcookie("SESSION", $uid, time()+(60*60*24*30));
$uid=$_COOKIE['SESSION'];

默认情况下,Cookie 使用为其设置的页面路径。

您应该使用 setcookie 的第 4 个参数将路径显式设置为 /


旁白:PHP 有 built-in session handling。你可能不应该重新发明轮子。