Здравствуйте. Интирисует такой вопрос: есть код: Код (Text): <select> <option>rus</option> <option>eng</option> </select> Как занести выбраное пользователем значение в $_GET?
Re: Как выбраное значение из select и занести в $_GET ? Оно то так, но мне нужно получать $_GET конкретного option, для того чтоб потом поместить значение из option в $_SESSION Чтобы было понятние, вот пример: Код (Text): if (isset($_GET['language'])){ $_SESSION['language'] = $_GET['language']; // выбраное значение (eng) }else{ $_SESSION['language'] = 'ru'; }
Re: Как выбраное значение из select занести в $_GET ? Код (Text): из статьи: <form action="option1.php"> <p><select size="3" name="hero"> <option disabled>Выберите героя</option> <option value="t1" selected>Чебурашка</option> <option value="t2">Крокодил Гена</option> <option value="t3">Шапокляк</option> <option value="t4">Крыса Лариса</option> </select></p> <p><input type="submit" value="Отправить"></p> </form> вот к примеру мне нужно вытащить value="t4" и занести его в гет но без кнопки "<input type="submit" value="Отправить">" а просто при выборе из выпадающего списка.
Re: Как выбраное значение из select занести в $_GET ? Подбираемся к сути проблемы. Объясни что такое html что такое php как они работают, что такие гет. Я не прикалываюсь, просто ты не понимаешь основы, хочу что ты начал думать рассуждать.
Re: Как выбраное значение из select занести в $_GET ? думаю html не нуждаеться в ответе, php - серверный язык програмирования , тоесть его запросы выполняються на стороне сервера, ну и гет ето метод запроса отправляемий на сервер открыто через url
Re: Как выбраное значение из select занести в $_GET ? Ну вроде правильно думаешь а вот не вижу логической связи. html это просто разметка страницы. PHP - серверный язык программирования, гет - способ посылки данных на сервер. Следовательно что бы данные оказались в гете надо послать запрос на сервер.Делай через форму либо же можно еще ajax-ом. http://api.jquery.com/jquery.get/
Re: Как выбраное значение из select занести в $_GET ? Переформулирую изначальный вопрос - есть поле селект которое сождержит в себе два поля выбора- "Русский" и "Английский" нужно сделать так , что бы при выборе "Русский" в переменную $language присваивался индекс "ru" а при выборе "Английский" в в переменную $language присваивался индекс "eng" ето все что мне нужно
Re: Как выбраное значение из select занести в $_GET ? у select должен быть атрибут name="ololo", у формы указываешь имя скрипта-обработчика и method="get" (или post) тогда при нажатии кнопки (input type="submit) в скрипт обработчик попадут эти параметры. селект как $_GET['ololo'] будет доступен.
Re: Как выбраное значение из select занести в $_GET ? Не ну так дело не пойдет, не тормози. Прочитай что ты сам написал, то что я написал и подумай немного. Уточню еще немного
Re: Как выбраное значение из select занести в $_GET ? https://hostmaster.ua/policy/2ld.ua/ вот простой пример смены языка на сайте, хочу так же сделать, и там select обрабативается без кнопки, и без jquery. Подскажите пожалуйста как такое реализовать?
загляни в html этой страницы. Код (PHP): <form method="post" action="/"> <input type="hidden" name="current_uri" value="https://example.com/policy/2ld.ua/"> <select name="select_language" onchange="this.form.submit(); return;"> <option value="en">English</option> <option value="ua">Українська</option> <option selected="selected" value="ru">Русский</option> </select> </form> давай ты сам расскажешь что здесь есть. если сумеешь объяснить каждый тег, ты выйдешь на следующий уровень. если выбрать язык, скажем English, и после перерисовк страницы заглянуть в куки, то увидишь такую хреньку: понимаешь что это? еще раз $level++
Форма передает данные методом "пост" в ней есть 1 инпут, заданый тип "невидимый" значение которого - ссылка. (что конкретно он делает я не знаю) Дальше есть селект имеющий событие которое имеет в себе функцию javascript наверно именно ета функция и определяет какое значение выбрано, но как ее реализовать я не знаю.
Код (Text): this.form.submit в данном случае отправляет форму на сервер, как если бы юзверь нажал на submit. current_uri - урл текущей страницы (на таком уровне английски обязателен для любого программиста!), видимо, скрипт на сервере, поменяв где надо флаг языка, делает перенаправление на эту страницу
О, то что мне и нужно, спасибо О, то что мне и нужно, спасибо а что прописать в невидимый инпут, значение value ? Добавлено спустя 8 минут 41 секунду: Код (Text): <form method="post" action="/"> <input type="hidden" name="current_uri" value="https://example.com/policy/2ld.ua/"> <select name="select_language" onchange="this.form.submit(); return;"> <option value="en">English</option> <option value="ua">Українська</option> <option selected="selected" value="ru">Русский</option> </select> </form> Наведите пожалуйста пример php, как ето все работает?
Я же написал - url текущей страницы. На php будет примерно так: Код (PHP): session_start(); $_SESSION["lang"] = $_REQUEST["select_language"]; header("Location: $_REQUEST[current_uri]"); die; И естественно, при любом выводе проверять, что стоит в $_SESSION["lang"], и исходя из этого выводить. Читайте книжки
textoro, моё видение (наложенное на аналогичный личный опыт): в экшене формы прописан адрес обработчика этой формы "/". не знаю как там роутинг организован, но в конце концов скрипт, соответствующий странице с адресом "/" обрабатывает POST-запрос. Код (PHP): if (isset($_POST['select_language']) && isset($_POST['current_uri'])) { // _следующая_ отображаемая страница будет использовать язык из селекта setcookie('lang', $_POST['select_language'], 0, '/', '.example.com'); header('Location: '.$_POST['current_uri']); exit(); } //... иначе, просто отобразим страницу '/' вот и весь обработчик формы. как используется параметр "язык". допустим у нас есть папка, в которой хранятся файлы с массивами всех переводов. имена файлов совпадают с названием языка + расширение .php Код (PHP): <?php // где-то в теле файла, который подключается СО ВСЕХ страниц. // я бы назвал его "common.php" $lang = isset($_COOKIE['lang']) && in_array($_COOKIE['lang'], array('en', 'ua', 'ru')) ? $_COOKIE['lang'] : 'ru'; // ru - язык по умолчанию // ... логика контроллера ... $text = require __DIR__.'/language/'.$lang.'.php'; // файл переводов // вывод шаблона: // ... ?> <p><?= $text['Hello world!'] ?></p>