我在我的iPage托管版本的网站上遇到了一个奇怪的问题。登录我的系统时,$_SESSION["id"]
包含登录用户的用户ID。在我网站的其他地方,我正在做这样的事情来检索页面的ID:
if (isset($_GET["id"])) {
$id = $_GET["id"];
// Do something with the $id.
}
然而,这实际上似乎改变了$_SESSION["id"]
的价值。我尝试执行以下操作来确认这一点:
if (isset($_GET["id"])) {
echo $_SESSION["id"]; // Prints e.g. 1
$id = $_GET["id"];
echo $_SESSION["id"]; // Prints e.g. 5 when URL contains ?id=5
}
在我的本地LAMP环境中运行我的网站时,这不会发生。谁能告诉我为什么会发生这种情况以及如何解决这个问题?
编辑:可以在我的虚拟主机上使用此代码重新创建整个问题:
session_start();
$_SESSION["id"] = 1;
if (isset($_GET["id"])) {
echo $_SESSION["id"];
$id = $_GET["id"];
echo $_SESSION["id"];
}
谢谢, 乔纳森