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

时间:2017-06-27 16:21:10

标签: php html cookies session-cookies session-state

我在我开发的php页面上使用cookies如下:

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存储。如果我从另一台计算机甚至是我的手机访问该网站,我会看到“ABC”。

我是否严重误解了Cookie的工作原理?我以为它们是按用户存储在本地计算机上的,并不是所有用户都可以使用的。无论我从哪个机器访问该页面,为什么从cookie返回相同的值?

感谢。

1 个答案:

答案 0 :(得分:1)

你弄错了...

Cookie是用户的,存储在用户的计算机上。

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

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