我最近開發了一個多語言網站。雖然我有一個小問題。每次點擊一個按鈕時,語言變量都需要改變。我用錨標籤(即<a href="?lang=En">English</a>
)做了這個。URL中的未設置變量會給出錯誤
問題出現時,除了語言之外的其他變量被添加到URL。我希望重定向頁面而不必刪除其他變量,只需更改lang變量。所以如果url包含"var1=value&var2=value&lang=En"
,我想改變lang變量並保持原樣。 lang變量可以有3個值:En
,Az
,Ru
。
我試過到目前爲止的方法:
function URI_ADD_AZ(){
$URI = $_SERVER['REQUEST_URI'];
if(isset($_GET['lang'])){
$lang = $_GET['lang'];
unset($lang);
}
$new_URI = $URI . '?lang=Az';
return $new_URI;
}
<a href="<?php URI_ADD_AZ?>">Azeri</a>
問題:
每次點擊按鈕LANG變量剛剛被添加到URL不會改變:
/?lang=Az?lang=Az?lang=Az?lang=Az
如何我可以確保它不會重複並避免重定向循環嗎?
您沒有調用函數「URI_ADD_AZ();」而不是「URI_ADD_AZ」。打開'display_errors'並打開錯誤報告。 PHP應該抱怨一個未定義的常量。 '的error_reporting(E_ALL); ini_set('display_errors',1);' –
這可能不是你問題的唯一來源,但首先要解決。 –