2013-11-27 219 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 
}