次のようなリンクを含むページがあります。
<a href="http://mysite.com/page.php">...</a>
また、現在の URL にGET 変数?lang=enがある場合もあります。手動で追加したり、各リンクに変数を追加したりせずに、ページからすべてのリンクに GET 変数 ?lang=en を追加するにはどうすればよいですか? ありがとう。
lang=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']
また、要求された言語が有効で利用可能であることを確認するために、何らかの検証を追加することもできます。