[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Мультиязычный сайт
Страницы: 1, 2
jamson
Скрипт переключения языков
session_start();
$lang = $_POST['languagebutton'];
if (!isset ($lang))
{$lang = 'russian';
}
setcookie('langcook','$lang');
if (isset ($_SESSION)) {
$_SESSION['lang'] = $lang;}
else {$_SESSION['lang'] = $_COOKIE['langcook']; }
if ($_SESSION['lang'] == 'russian')
{include 'languages/russian.lang';}
else
{include 'languages/turkmen.lang';
}

Прошу помощи, в принципе все работает, но при обновлении страницы не сохраняется язык, может кто подскажет каким образом это исправить?
walerus
Вообще не правильно все написано, что значит "Скрипт переключения языков" ?
Это отдельный файл, или часть скрипта отвечающая за переключение?...

По какому принципу сменяется язык?, AJAX запрос или форма методом POST/GET ?...

Кука ставится:
setcookie ("TestCookie", $value);


Кука считывается
echo $_COOKIE["TestCookie"];


далее все зависит от того, что у Вас и куда, вопросы - выше...

А может вообще JavaScript используется?
walerus
Цитата (Invis1ble @ 12.10.2014 - 14:37)
Цитата
'$lang'

Ну вот, взял и всю малину картину испортил biggrin.gif
jamson
форма методом POST, 2 кнопки, при нажатии на одну, меняется переменная, и в зависимости от ее значения подключается языковой файл
да, это отдельный файл
jamson
меня даже больше наверное логика интересует
AllesKlar
Цитата (jamson @ 12.10.2014 - 19:19)
форма методом POST, 2 кнопки, при нажатии на одну, меняется переменная, и в зависимости от ее значения подключается языковой файл
да, это отдельный файл

нууу.. иии... а при обновлении страницы кнопка же не нажмается...
Значит надо смотреть
если (нажали кнопку ИЛИ ... )


_____________
[продано копирайтерам]
walerus
<?php
error_reporting(E_ALL);

## Запускаем сессию
session_start();

## Проверяем есть ли у нас POST параметр, если есть, то заносим в сессию этот параметр
if ( isset( $_POST['languagebutton'] ) )
{
## Записываем параметр в сессию, параметр будет храниться до закрытия броузера,
## либо использовать куки, что бы "навсегда" запомнить этот параметр

$_SESSION['lang'] = $_POST['languagebutton'];
}

## Проверяем, если есть языковой параметр в нашей сессии, то используем его, если нет, то устанавливаем по дефолту ENG язык
if ( isset( $_SESSION['lang'] ) )
{
## в зависимости от параметра, подгружаем языковой пакет.
if ( $_SESSION['lang'] == 'RUS' )
{
// include 'languages/Russian.lang';
$lang = 'RUS';
}
else
{
// include 'languages/English.lang';
$lang = 'ENG';
}
}

else
{
##
// include 'languages/English.lang';

$lang = 'ENG';
}


echo "Ваш Язык - " . $lang;
?>
<form method="POST" action="">
<
input type="submit" value="RUS" name="languagebutton"> | <input type="submit" value="ENG" name="languagebutton">
</
form>


Вот расписал, должно быть понятно что куда, на основе этого можете свое что то сделать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.