将$ _GET变量附加到已包含$ _GET变量的URL

时间:2013-11-27 16:21:55

标签: php session get

我的网页上有一个子导航菜单,只要?n=review附加到网址就会打开。

每当附加?language=xx时,我也会更改语言并设置会话变量。

但是,如果我在打开子导航的页面上,并且我希望从那里更改语言,则在链接点击时?n=review会被?language=xx替换,因此导航关闭。 如何在每次更改语言时检查是否已设置$_GET变量,如果是,请将我的附加变量追加到最后?

语言更改后,新语言将设置为会话变量,因此我无需担心保留$_GET变量。我想知道我是否需要以相同的方式存储子nav变量......?

很抱歉,如果这个问题措辞严厉,我正试图自己解决这个问题。

如果您需要查看任何代码或更整洁的措辞,请在投票前告知我们。

2 个答案:

答案 0 :(得分:1)

if(empty($_GET['language'])) {
  $fragment = '?n=review';
} else {
  // if language is set, get the value
  $lang = $_GET['language'];
  $fragment = "?language=$lang&n=review";
}

// I just made up the /index.php part, replace that with the proper link.
$url = "/index.php$fragment";

答案 1 :(得分:0)

使用'&'可以链接获取变量字符。所以你可以用这种方式建立你的链接:

echo "./?n=review&language=xx"

如果你想知道,如果设置了任何$ _GET参数,你可以简单地使用PHP的empty()函数:

if( empty( $_GET ) )
{
   //$_GET is empty
}
else
{
    //$_GET has something in it
}