[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помощь с $_GET
Por$h
Здравствуйте.
Возникла проблема с переключением языка на сайте.
Вопрос: как сделать,чтобы при смене языка пользователь оставался на текущей странице ?

Смена языка через GET[] (в index.php файле)
Когда я нахожусь на основной странице index.php, смена языка работает нормально,
site.ru/?lang=en
... ru и т.д
контент других страниц подгружается через include в середину index.php и например url страницы контактов выглядит так: site.ru/?contacts
При смене на другой язык, перебрасывает на site.ru

Знаю,что должно выглядеть так:
site.ru/?page=contacts&lang=ru

А как это собственно сделать ? сохранения текущего get и добавление второго или n-го кол-ва ?
123456
Смотря какая структура сайта у тебя. Если всё работает через один файл, к примеру index.php и в нем будет обрабатываться полученный GET параметр языка, то можно как-то так:

<form name="lang" method="get" action="">
<select name="lang" onChange="document.lang.submit();">
<option>---</option>
<option value="ru">Russia</option>
<option value="en">English</option>
</select>
</form>
Por$h
123456
да,смена языка в index.php
реализованно только так:
                   <ul class="dropdown-menu">
<!-- dropdown menu links -->
<li><a href="?lang=en">en</a></li>
<li><a
href="?lang=ru">ru</a></li>
<li><a
href="?lang=ee">ee</a></li>
</ul>


всё меняется норм только на главной странице index.php ,а если уже есть какой-то GET параметр (как у меня index.php/?contacts) , то смена языка просто реплейсит текущий GET параметр...
как добавить второй параметр или n-ый ?

123456
Чем тебе не нравиться $_POST ?
Por$h
Задание такое =(
Por$h
Разобрался как добавлять, НО теперь как заменить значение переменной ?
Сейчас работает так:
site.ru/?lang=ru&lang=en&lang=ru и т.д...


<li><a href="<?php echo $url = (!empty($_SERVER['QUERY_STRING']) && isset($_GET['lang'])) ?  "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] . "&lang=en" : "http://".$_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . "?lang=en" ; ?>">en</a></li>
<li><a href="<?php echo $url = (!empty($_SERVER['QUERY_STRING']) && isset($_GET['lang'])) ? "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] . "&lang=ru" : "http://".$_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . "?lang=ru" ; ?>">ru</a></li>


unset($_GET['lang']) у меня не получилось..
Быстрый ответ:

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