通过简单变量修改会话

时间:2014-05-14 20:30:12

标签: php variables session

我在我的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"];
}

谢谢, 乔纳森

0 个答案:

没有答案