3 つの異なる言語で動作する小さな PHP Web サイトを作成しました。これらの言語は、$_GET または $_COOKIE を介して設定でき、$_GET が最初にチェックされるため、必要に応じて Cookie を上書きできます。必要な言語を決定したら、すべての翻訳を保持するファイルを含め、将来の使用のために Cookie を設定します。コードは次のようになります。
<?php
if (isset($_GET['language'])) {
// if language in $_SET is English, load english translation and set a cookie for the future.
if ($_GET['language'] == 'EN') {
setcookie('language','EN', time()+31536000);
include 'tekstenEngels.php';
// if language in $_SET is French, load french translation and set a cookie for the future.
} elseif ($_GET['language'] == 'FR') {
setcookie('language','FR', time()+31536000);
include 'tekstenFrans.php';
// lastly if language in $_SET is Dutch, load Dutch translation and set a cookie for the future
} else {
setcookie('language','NL', time()+31536000);
include 'tekstenNederlands.php';
}
// the same but for cookies in case this isn't the first visit
} elseif (isset($_COOKIE['language'])) {
if ($_COOKIE['language'] == 'EN') {
include 'tekstenEngels.php';
} elseif ($_COOKIE['language'] == 'FR') {
include 'tekstenFrans.php';
} else {
include 'tekstenNederlands.php';
}
}
?>
これは私の locahost では問題なく動作しますが、Web サーバーで使用すると Cookie を正しく読み書きできないようです。私が見逃している/間違っている可能性のあるアイデアはありますか?