我有鏈接的頁面,看起來像這樣:PHP添加GET變量鏈接
<a href="http://mysite.com/page.php">...</a>
我也可以有一個GET變量郎= EN當前URL。如何將GET變量?lang = en添加到頁面中的所有鏈接,而無需手動添加它們或向每個鏈接添加變量?謝謝。
我有鏈接的頁面,看起來像這樣:PHP添加GET變量鏈接
<a href="http://mysite.com/page.php">...</a>
我也可以有一個GET變量郎= EN當前URL。如何將GET變量?lang = en添加到頁面中的所有鏈接,而無需手動添加它們或向每個鏈接添加變量?謝謝。
檢索添加郎= EN會話變量$_SESSION['lang']='en'
&在每個頁面中初始化它。
您可以使用輸出緩衝或Apache過濾器來分析您的輸出,以自動將lang查詢字符串參數添加到所有鏈接,但這不是非常有效。
如果你真的不想手動添加到每個鏈接,那麼我建議你將它存儲在會話變量中。
在每個頁面的開始(也許在一般包括腳本),你可以有這樣的:
<?php
define('DEFAULT_LANG', 'en_GB');
session_start();
// check if a new lang has been specified.
if (isset($_GET['lang'])) {
// yes, so use the requested lang
$_SESSION['lang'] = $_GET['lang'];
// otherwise, check if a lang was previously set
} else if (! isset($_SESSION['lang'])) {
// no, so use default lang:
$_SESSION['lang'] = DEFAULT_LANG;
}
?>
那麼你應該在你的頁面的其餘部分使用$_SESSION['lang']
代替$_GET['lang']
。此外,您可能需要添加某種驗證來確保所需的lang有效且可用。
更改'} else if(!isset($ _ SESSION ['lang'])){'to'} else {'... PHP不需要再次檢查是否isset is – 2012-04-17 12:39:27
否 - 第一個isset '檢查$ _GET ['lang']',第二個'$ _SESSION ['lang']'。閱讀評論。 – megaflop 2012-04-18 11:46:08
Oups我把它變成了$ _GET,對不起:S – 2012-04-18 14:11:32
定義「我有一個頁面」。這聽起來像一個靜態頁面,是一個嗎? – Jon 2012-04-17 12:09:12
你應該編寫一個函數/方法來生成URL。 – kapa 2012-04-17 12:15:30