我正在尝试将从URL变量获取的值存储到SESSION变量中。
以下是网址:
<a href="webpage.php?store=<?php echo 'Ace'; ?>">Ace Hardware</a>
这是SESSION编码,它检索变量,但在离开页面时丢失变量值。
$_SESSION["store"] = $_GET["store"];
$shopByStore = $_SESSION["store"];
如果我在下面插入引号中的值(参见下面代码中的“Ace”),它就可以了。但它在上面的代码中不起作用,使用GET方法($ _GET [“store”])
$_SESSION["store"] = "Ace";
$shopByStore = $_SESSION["store"];
答案 0 :(得分:1)
问题是您每次都使用$_SESSION["store"]
覆盖$_GET["store"]
是否存在get请求,因此它基本上只使用$_GET["store"]
。你可以改用它:
if (isset($_GET["store"])) {
$_SESSION["store"] = $_GET["store"];
}
答案 1 :(得分:1)
首先,您需要启动session
,然后确保它尚未存储在session
中(如果它已在$_GET
中传递)如果尚未保存在session
中,则将其存储:
// The first line in your script
session_start();
if (isset($_GET["store"])) {
if (!isset($_SESSION["store"])) {
$_SESSION["store"] = $_GET["store"];
}
}
详细了解PHP manual。