Форум → Программирование → PHP для идиотов → Language changer с помошью сессий
Language changer с помошью сессий
Страницы: ← Следующая страница →
-
А хочу написать сктипт который меняет язык страницы.
У меня на каждой странице есть блок с флагами. Каждый флаг это линк такова типа: page.php?lang=ru
Также к каждой странице приклеплен с помошью include фаил который меняет язык с таким содержанием:
session_start();
$ln = $_GET['lang'];
if (!isset($lang) && !isset($_SESSION['lang']) && !isset($ln))
{
echo $lang."no session no GET";
session_register("lang");
$lang = "ru";
}
else if (!isset($lang) && isset($ln))
{
echo $lang."no session is GET";
session_register("lang");
$lang = strtolower($ln);
}
else if (isset($lang) && isset($ln))
{
session_unregister(lang);
echo $lang."both";
session_register("lang");
$lang = strtolower($ln);
}
Проблема в том что когда я жму на флаг то язык меняется, но когда перехожу на другую страницу язык опять стоновится русским(default).
Помогите разобраться. -
4 марта 2008 г. 17:41, спустя 5 минут 41 секунду
1. session_register и session_unregister - в сад. Переписываем все без них.
2. Язык вообще не храним в сессии, а передаем всегда в урле
3. $ln = $_GET['lang']; - уже потенциальная ошибка. Вдруг lang не пришел. -
4 марта 2008 г. 17:54, спустя 13 минут 49 секунд
2. Язык вообще не храним в сессии, а передаем всегда в урле
Почему? Всегда передавал в сессии, и не было никаких проблем. -
4 марта 2008 г. 18:05, спустя 10 минут 39 секунд
идея была использывать ГЕТ только когда менается язык. Если он пуст, то язык не меняется. Если в нем что-то есть, язык меняется. -
4 марта 2008 г. 18:16, спустя 11 минут 12 секунд
Как ты кинешь своему американскому другу ссылку на страницу, где размещена новость на его родном языке? ))) -
4 марта 2008 г. 18:23, спустя 6 минут 16 секунд
Очень просто: http://www.site.ru/index.php?lang=en
Просто если я сейчас буду ставить на все ссылки ?lang= , мне придется всю ночь это делать, их очень много -
4 марта 2008 г. 18:25, спустя 2 минуты 56 секунд
Я же сказал "на страницу, где размещена новость", а не на главную
Очень просто: http://www.site.ru/index.php?lang=en -
-
4 марта 2008 г. 18:47, спустя 3 минуты 59 секунд
Т.е. предлагается после копирования ссылки из адресной строки доправить ее руками? Офигительно удобно …
А поисковики об этом как догадаются? -
5 марта 2008 г. 9:32, спустя 14 часов 44 минуты 32 секунды
Т.е. предлагается после копирования ссылки из адресной строки доправить ее руками? Офигительно удобно …
А поисковики об этом как догадаются?
зачем поправлять? какая проблема иметь такую строку в адресной книге?
достаточно к каждому хрефу дописать &lang=<?php echo $lang; ?> -
5 марта 2008 г. 10:05, спустя 33 минуты 16 секунд
достаточно к каждому хрефу дописать &lang=<?php echo $lang; ?>
звучит легко и не принужденно, но это же гемор…все умрут, а я изумруд -
5 марта 2008 г. 11:02, спустя 57 минут 7 секунд
зачем поправлять? какая проблема иметь такую строку в адресной книге?
Не понял. Вcе страницы сайта всегда иметь в адресной книге?достаточно к каждому хрефу дописать &lang=<?php echo $lang; ?>
Ну е-мое, а я с чего начал. Только зачем тогда сессия? -
5 марта 2008 г. 14:27, спустя 3 часа 25 минут 14 секунд
сесия не нужна, но у die2live насколько я понял проблема в том что он хотел все это организовать сесией и вообщем ты сказал ему правильно - ession_register и session_unregister - в сад. Переписываем все без них. -
10 марта 2008 г. 15:50, спустя 5 дней 1 час 23 минуты
внял вашим разумным советам и переделал свой Language changer, но встретил такую проблему - какие хрефы давать флагам?
попробовал так<a href="<?php echo $_SERVER['REQUEST_URI']; ?>&lang=en">
<img src="files/en.gif" width="20" height="10" hspace="2" border="0" align="absmiddle" /></a>
но в большинстве случаев REQUEST_URI уже содержит переменную lang и получается что в урле 2 раза одна и тажа переменная с разными данными. технически проблем не каких, но хотелось бы сделать более грамотно. какой способ подскажете? -
10 марта 2008 г. 16:04, спустя 13 минут 21 секунду
напиши функцию, которая смотрит есть ли лэнг в урле или нету..все умрут, а я изумруд
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!