【发布时间】:2011-08-22 08:41:27
【问题描述】:
我有一个 WordPress 网站,我们在其中使用会话独有的 cookie 跟踪用户。我的 functions.php 文件中有以下代码:
if (!session_id())
session_start();
// session user id:
if (isset($_COOKIE["my_user_id"])) {
$my_user_id = $_COOKIE["my_user_id"];
}
else {
$my_user_id = uniqid();
setcookie("my_user_id", $my_user_id);
}
在每一页上:
echo $_COOKIE["my_user_id"];
我希望这会在我四处点击时在每个页面上显示相同的用户 ID - 但是,不同页面的用户 ID 会发生变化,尽管在同一页面上多次点击时它保持相同。 cookie 值不会是站点范围的吗?
【问题讨论】:
-
如果您已经在使用会话,为什么不直接使用会话 ID?
-
发布页面之间的共同差异(例如目录、子域等)。如果不出意外,请发布一个可以使用的页面和一些无法使用的页面。
-
@icktoofay - 这只是一个例子 - 关键是为什么该值不存在。
-
@Jason- 它在所有页面上都“有效”,而不是跨页面。我试图了解哪些情况可能导致这种情况。我不能在这里发布我页面中的所有代码,我只想说上面的代码在所有页面中都是相同的。