我在我开发的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返回相同的值?
感谢。
答案 0 :(得分:1)
你弄错了...
Cookie是用户的,存储在用户的计算机上。
当您在php中处理$_COOKIE
变量时,您将处理标题中传递的特定用户的cookie(发出请求的cookie)。
对于服务器,请阅读$_SESSION
http://php.net/manual/en/reserved.variables.session.php