我的网页上有一个子导航菜单,只要?n=review
附加到网址就会打开。
每当附加?language=xx
时,我也会更改语言并设置会话变量。
但是,如果我在打开子导航的页面上,并且我希望从那里更改语言,则在链接点击时?n=review
会被?language=xx
替换,因此导航关闭。 如何在每次更改语言时检查是否已设置$_GET
变量,如果是,请将我的附加变量追加到最后?
语言更改后,新语言将设置为会话变量,因此我无需担心保留$_GET
变量。我想知道我是否需要以相同的方式存储子nav变量......?
很抱歉,如果这个问题措辞严厉,我正试图自己解决这个问题。
如果您需要查看任何代码或更整洁的措辞,请在投票前告知我们。
答案 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
}