2013-11-27 133 views
0

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

我也有语言改变和会话变量被设置,只要?language=xx被追加。

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

一旦语言被改变,新的语言被设置为一个会话变量,所以我不需要担心保持它的$_GET变量。我想知道是否需要以相同的方式存储子导航变量...?

对不起,如果这个问题的措辞不好,我试图让我的头在我自己的逻辑。

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

+0

查看http://stackoverflow.com/questions/3002387/how-to-combine-query-strings-in-php –

回答

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"; 
+0

太棒了,谢谢。正是我需要的代码工作的指导。 – mpdc

+0

@MatthewPeckham这很好听,我很乐意帮忙! –

0

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

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

如果你想知道,如果有的话$ _GET参数已经确定,你可以简单地使用PHP的empty()功能是这样的:

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