如何在 php 中为每个用户设置一个 cookie?

How to set a cookie per user in php?

我在我开发的 php 页面上使用 cookie,如下所示:

setcookie("ThisCookie[to]", $toValue, time() + (10 * 365 * 24 * 60 * 60), "/"); 

如果我检测到设置了 cookie,我会检索值:

       foreach ($_COOKIE["ThisCookie"] as $name => $value) {
        if ($name == "to")
        {
            $cookie_to = $value;


        }

乍一看效果很好,但无论我从哪台机器访问该页面,我都会从 cookie 返回相同的值。因此,例如,在我的台式计算机上,我输入了一个 "ABC" 值,该值会存储在该 cookie 中。如果我从另一台计算机甚至我的 phone.

访问该站点,我会看到返回 "ABC"

我是不是严重误解了 cookie 的工作原理?我认为它们存储在每个用户的本地机器上,而不是所有用户共有的。为什么无论我从哪台机器访问页面,cookie 都返回相同的值?

谢谢。

你完全错了伙计...

Cookies 是用户的,存储在用户的机器上。

当您处理 php 中的 $_COOKIE 变量时,您处理了在 header 中传递的特定用户的 cookie(发出请求的那个)。

对于服务器阅读 $_SESSION http://php.net/manual/en/reserved.variables.session.php