Ответов: 3 Просмотров: 613
|
Здравствуйте всем подскажите мне пожалуйста. Я хочу сделать мультиязычный сайт привязал выбор языка к сессии но есть недостаток при закрытии сайта теряеться выбор языка. Вод код.
PHP:
скопировать код в буфер обмена
<?PHP // Массив доступных для выбора языков $LangArray = array("ru", "ua", "en"); // Язык по умолчанию $DefaultLang = "ru"; // Если язык уже выбран и сохранен в сессии отправляем его скрипту if(@$_SESSION['NowLang']) { // Проверяем если выбранный язык доступен для выбора if(!in_array($_SESSION['NowLang'], $LangArray)) { // Неправильный выбор, возвращаем язык по умолчанию $_SESSION['NowLang'] = $DefaultLang; } } else { $_SESSION['NowLang'] = $DefaultLang; } // Выбранный язык отправлен скрипту через GET if($language) { // Проверяем если выбранный язык доступен для выбора // Неправильный выбор, возвращаем язык по умолчанию $_SESSION['NowLang'] = $DefaultLang; } else { // Сохраняем язык в сессии $_SESSION['NowLang'] = $language; } } // Открываем текущий язык include_once ("language/language.".$CurentLang.".php"); ?>
Хочу выбранный язык запилить в COOKIE нашёл вот такое решение
PHP:
скопировать код в буфер обмена
// проверяем наличие куки, если есть то читаем ее if(isset($_COOKIE['lang_site'])){ $lang = $_COOKIE['lang_site']; // получем язык сайта из куки }else{ $lang = 'ru'; // default значение для языка сайта } // проверяем, если был передан язык в урле, то записываем его в куку if(isset($_GET['lang'])){ // задаем язык сайту $lang = $_GET['lang']; setcookie ("lang_site", $lang, time() + 3600*24, "/"); // устанавливаем куку с языком сайта }
Собственно говоря проблема в том что не могу обьеденить эти два кода.
Может у кого то есть альтернативное решение проблемы или кто то может обьеденить код |