首页 > 解决方案 > 为什么要添加而不是更改 cookie?

问题描述

我正在开发一个网站,每个用户都应该有自己的 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'];

在此处输入图像描述

标签: phpcookiessession-cookiessetcookie

解决方案


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

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


另外:PHP 有内置的会话处理。你可能不应该重新发明轮子。


推荐阅读