За последние 24 часа нас посетили 17563 программиста и 1716 роботов. Сейчас ищут 1823 программиста ...

Язык и сессия

Тема в разделе "PHP для новичков", создана пользователем Qumo, 1 фев 2016.

  1. Qumo

    Qumo Активный пользователь

    С нами с:
    6 июн 2013
    Сообщения:
    160
    Симпатии:
    0
    Спасибо!=))
     
  2. Qumo

    Qumo Активный пользователь

    С нами с:
    6 июн 2013
    Сообщения:
    160
    Симпатии:
    0
    Привет, ребята!=) Такой вопрос, можно ли сделать так, чтобы к ссылкам не приписывать ?lang, а чтобы он всегда автоматом стоял в адресной строке. Т.е. у меня сейчас так:
    если язык не выбран, то по умолчанию русский, но в адресной строке нет ?lang(пока пофиг на ЧПУ). Спасибо lastdays за код=)
    к ссылкам приходится приписывать ?lang='.$_SESSION['lang'].', чтобы язык сохранялся при переходе по ссылкам.
    Так вот можно сделать, чтобы он его сохранял без передачи его в ссылках. Типа пользователь выбрал язык и он действует на протяжении всей сессии и в адресной строке всегда торчал(например, index?lang=rus или index?lang=eng в зависимости от выбранного языка) ?lang.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в куки сохрани
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Сохрани в куки инфу, какой язык выбрал пользователь.
    Код (PHP):
    1. if(isset($_COOKIE['lang'])){
    2.     switch($_COOKIE['lang']){
    3.         case "ru":
    4.             echo "выбран русский язык";
    5.             break;
    6.         dafault:
    7.             echo "язык не найден";
    8.             
    9.     }
    10. }
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Привет Qumo, ты похож на того чувака из фильма Мементо. Периодически его вырубало и он не помнил что с ним было в последнее время. Приходилось записывать самое важное в тату.

    Сессия это такая штука, которая сохраняет твои значения до следующих запросов. Зачем ты подставляешь значение из сессии в адрес, скажи пожалуйста?!
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ну че ты сразу давишь лбом
     
  7. Qumo

    Qumo Активный пользователь

    С нами с:
    6 июн 2013
    Сообщения:
    160
    Симпатии:
    0
    Ахахаха=))))Спасибо=)) Да меня не так вырубать скоро будет. Я уже сплю за буком=)) Залипаю на ходу=)) Что-нибудь пишешь, задумался, глаза чуть прикрыл, и бац, глаза открываешь, а голова возле клавы уже=))
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    А ты думаешь оно бесплатно для организма так сидеть?
     
  9. Qumo

    Qumo Активный пользователь

    С нами с:
    6 июн 2013
    Сообщения:
    160
    Симпатии:
    0
    Нет, но надо=)) Мне тут говорили, что я во сне про какой-то эрэй кричал=)))
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Или спи. По тупняку можно говна наваять. И когда засыпаешь, то работаешь очень медленно. Смысла нет короче.
     
  11. Qumo

    Qumo Активный пользователь

    С нами с:
    6 июн 2013
    Сообщения:
    160
    Симпатии:
    0
    Код (PHP):
    1. $lang = isset($_GET['lang']) && in_array($_GET['lang'], ['rus', 'eng'])$_COOKIE['lang'] = $_GET['lang'] : ( isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'rus');
    2. include_once( 'locale/' .$lang . '.php' ); 
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну и сразу рекомендую выкинуть эти rus/eng и начать использовать стандартные международные локали
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это какие?
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ru/en или сразу ru_RU/en_US
     
  15. Qumo

    Qumo Активный пользователь

    С нами с:
    6 июн 2013
    Сообщения:
    160
    Симпатии:
    0
    Так перевод-то для сайта, а не для функций php. Или я тебя неправильно понял?
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    да, ты меня неправильно понял.
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  19. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Стандартов этого самого на самом деле дофига: https://en.wikipedia.org/wiki/Language_code + ГОСТ

    Добавлено спустя 10 минут 45 секунд:
    Я считаю будет нормально, либо 2 буквы из ISO 639‑1: "чешский" cs,
    либо как в локали: "чешский как в Чехии" cs_CZ.