2014-03-31 30 views
0

我试图存储从URL变量获得到一个会话变量的值。网址变量Session变量(使用GET方法)

这里是网址:

<a href="webpage.php?store=<?php echo 'Ace'; ?>">Ace Hardware</a> 

这里是SESSION的编码,以检索变量,但在离开页面失去变量值。

$_SESSION["store"] = $_GET["store"]; 
$shopByStore = $_SESSION["store"]; 

如果我插在引号中的价值,因为它是低于(见“王牌”,在下面的代码),它的工作原理。不过,这并不在代码工作上面使用GET方法($ _GET [“存储”])

$_SESSION["store"] = "Ace"; 
$shopByStore = $_SESSION["store"]; 
+0

你是否开始'会话'? –

回答

1

的问题是,你重写了$_SESSION["store"]$_GET["store"]每次get请求是否存在,所以它基本上只使用$_GET["store"]。你也可以使用这样的:

if (isset($_GET["store"])) { 
    $_SESSION["store"] = $_GET["store"]; 
} 
1

首先,你需要启动session并确保它(如果它在$_GET真实传递)本已不被存储在session如果尚未保存在session然后店它:

// The first line in your script 
session_start(); 

if (isset($_GET["store"])) { 
    if (!isset($_SESSION["store"])) { 
     $_SESSION["store"] = $_GET["store"]; 
    } 
} 

了解更多关于PHP manual