Следующий код является первым кодом на моей странице php.
$current_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if(isset($_REQUEST["lang"])){ //check if different language was selected
$lang = $_REQUEST["lang"];
if($lang == "eng"){
$lang_value = 1;
}else{
$lang_value = 0;
}
setCookie('language',$lang);
setCookie('language_value',$lang_value);
header("Refresh:0; url=".$current_link);
}else{ //if different language was not selected, check if cookie is set with language value
if(isset($_COOKIE["language"])){
$lang = $_COOKIE["language"];
$lang_value = $_COOKIE["language_value"];
}else{ //if cookie with language value is not set, create it now with default language option
setCookie('language','eng');
setCookie('language_value',1);
header("Refresh:0; url=".$current_link);
}
}
Посетитель может выбрать только один из двух языков. Если выбран язык, создаются файлы cookie с выбранными языковыми значениями.
Если язык не выбран, сценарий проверяет, существует ли файл cookie со значением языка, и, если это так, осуществляет доступ к значениям файлов cookie. Если файл cookie со значением языка не существует, создаются файлы cookie со значениями языка по умолчанию (английский).
Предполагается, что страница обновляется только при создании файлов cookie, а остальная часть кода сохраняется, если файл cookie. с языковым значением существует. Однако страница продолжает обновляться даже после того, как файлы cookie были созданы и доступны. Например:
echo $_COOKIE["language"]; //will output the selected language value
Не уверен, что здесь что-то не так с логикой, но любая помощь будет оценена.
Спасибо