[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обработка формы. Тег селект
Страницы: 1, 2
kordiks1972
Подскажите, как передать в переменную значение тега селект.
VeRTak

$var = $_POST['name'];
inpost
kordiks1972
Технически $_POST['name'] является ПЕРЕМЕННОЙ. То есть форма отправляется и в твоём скрипте уже есть нужные тебе переменные, их отправляет форма, объявлять создание в таком случае не надо, в массиве $_POST или $_GET они содержатся.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
kordiks1972
Мне потом нужно это значение вывести на экран, в другом документе. Все поля формы пишутся в переменную дата, а потом скрипт их проставляет куда нужно. Вот так это выглядит с полями инпут:
empty($data['broj_pasosa']);
empty($data['pasos_datums']);
empty($data['fms_pasos']);
С "инпутовскими" полями все работает. Не получается тоже самое сделать с селектом. Пробовал по разному, например, вот так:
$data['delatnost'] = $_POST['delatnost'];
empty($data['delatnost']);
Не получается.
VeRTak

var_dump($_POST['delatnost']); exit;


Результат сюда
kordiks1972
П.С. Точнее, как бы работает, но, не так как надо. Вот хтмл
<option value="delatnost1">Выбор 1</option>
Вот так в скрипте задал
$delatnost = $_POST['delatnost'];
empty($data['delatnost']);
На экран выводится delatnost1, а как сделать, что бы проставлялось Выбор 1
VeRTak
kordiks1972

Вообще это лучше делать по ключам массива.

Например


<select name="delatnost">
<option
value="1">Выбор 1</option>
<option
value="2">Выбор 2</option>
<option
value="3">Выбор 3</option>
</select>




$arr = ["","Выбор 1","Выбор 2","Выбор 3"];
echo $arr[$_POST['delatnost']];
kordiks1972
С массимом что то не получилось, получилось вот так:
<select class="select2" name="delatnost">
<option disabled="disabled" selected="selected"></option>
<option>Выбор 1</option>
<option>Выбор 2</option>
</select>

В скрипте:
$delatnost = $_POST['delatnost'];
empty($data['delatnost']);

Получается, что мы обходимся при создании выпадающего списка без атрибута валуе. Зачем он вообще нужен, если без него все работает?
VeRTak
Цитата (kordiks1972 @ 22.04.2017 - 14:15)
Получается, что мы обходимся при создании выпадающего списка без атрибута валуе. Зачем он вообще нужен, если без него все работает?


Как вы проверяете правильность выбора пользователя? Я могу в HTML вписать все что угодно, и оправить к вам на сервер.

Цитата (kordiks1972 @ 22.04.2017 - 14:15)
С массимом что то не получилось, получилось вот так:


Что не получилось? Экстрасенсов тут нету...
kordiks1972
Подправил код, наверное, так более правильно. Все окей, без валуе работает.
$data['delatnost'] = $_POST['delatnost'];
empty($data['delatnost']);
kordiks1972
Как вы проверяете правильность выбора пользователя?

До этого еще не дошел. Я думаю, что в селекте главное, что бы был сделан какой нибудь выбор, так как там ничего пользователь не пишет, то, и проверять, что он написал не надо, надо, что бы он выбрал одно поле из списка.
VeRTak
Цитата (kordiks1972 @ 22.04.2017 - 14:22)
Я думаю,


Вы не правильно думаете
kordiks1972
Цитата (VeRTak @ 22.04.2017 - 14:20)
Цитата (kordiks1972 @ 22.04.2017 - 14:15)
Получается, что мы обходимся при создании выпадающего списка без атрибута валуе. Зачем он вообще нужен, если без него все работает?


Как вы проверяете правильность выбора пользователя? Я могу в HTML вписать все что угодно, и оправить к вам на сервер.

Цитата (kordiks1972 @ 22.04.2017 - 14:15)
С массимом что то не получилось, получилось вот так:


Что не получилось? Экстрасенсов тут нету...



Да, вот так не получается:
$arr = ["","Выбор 1","Выбор 2"];
$data['delatnost']=$arr
empty($data['delatnost']);
VeRTak
kordiks1972 Вы просите помощи, а сами даже внимательно посмотреть не можете на мой код. Как можно помочь человеку который даже не видит элементарных вещей?

$data['delatnost']=$arr Что это?

У меня вот так


$arr[$_POST['delatnost']];


А значит можно сделать вот так.


empty($arr[$_POST['delatnost']]);


Если уж нужно передать данные в массив $data. То делайте, если это действительно нужно

Неужели это так сложно, просто внимательно посмотреть? Вы говорите что не получается, но не можете даже объяснить что не получается, какая ошибка у вас на экране и так далее... Я умываю руки
VeRTak
Что-то я проморгал. Это снова ты. О великий халявщик, который ждет когда сделают за него. Удачи в написание кода.

Пару дней назад...

Цитата

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

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