Использование $_POST для получения значения опции выбора из HTML
Я использую select
, как показано ниже:
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
Как получить значение из параметра select
и сохранить его в переменной для будущего использования в PHP?
Ответы
Ответ 1
Используйте этот способ:
$selectOption = $_POST['taskOption'];
Но всегда лучше давать значения тэгам <option>
.
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
Ответ 2
Вы можете получить доступ к значениям в массиве $_POST
по их ключу. $_POST - ассоциативный массив, поэтому для доступа к taskOption
вы должны использовать $_POST['taskOption'];
.
Обязательно проверьте, существует ли он в массиве $_POST, прежде чем продолжить.
<form method="post" action="process.php">
<select name="taskOption">
<option value="first">First</option>
<option value="second">Second</option>
<option value="third">Third</option>
</select>
<input type="submit" value="Submit the form"/>
</form>
process.php
<?php
$option = isset($_POST['taskOption']) ? $_POST['taskOption'] : false;
if ($option) {
echo htmlentities($_POST['taskOption'], ENT_QUOTES, "UTF-8");
} else {
echo "task option is required";
exit;
}
Ответ 3
<select name="taskOption">
<option value="first">First</option>
<option value="second">Second</option>
<option value="third">Third</option>
</select>
$var = $_POST['taskOption'];
Ответ 4
Вы тоже можете сделать это:
<?php
if(isset($_POST['select1'])){
$select1 = $_POST['select1'];
switch ($select1) {
case 'value1':
echo 'this is value1<br/>';
break;
case 'value2':
echo 'value2<br/>';
break;
default:
# code...
break;
}
}
?>
<form action="" method="post">
<select name="select1">
<option value="value1">Value 1</option>
<option value="value2">Value 2</option>
</select>
<input type="submit" name="submit" value="Go"/>
</form>
Ответ 5
Зависит от того, содержит ли форма, в которой находится элемент выбора, метод, установленный как "get" или "post".
Если <form method="get">
, тогда значение select будет расположено в супер-глобальном массиве $_GET['taskOption']
.
Если <form method="post">
, тогда значение select будет расположено в супер-глобальном массиве $_POST['taskOption']
.
Чтобы сохранить его в переменной, вы должны:
$option = $_POST['taskOption']
Хорошим местом для получения дополнительной информации будет руководство PHP: http://php.net/manual/en/tutorial.forms.php
Ответ 6
Вот так:
<?php
$option = $_POST['taskOption'];
?>
Индекс массива $_POST
всегда основан на значении атрибута name
любого ввода HTML.
Ответ 7
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
попробуйте это
<?php
if(isset($_POST['button_name'])){
$var = $_POST['taskOption']
if($var == "1"){
echo"your data here";
}
}?>
Ответ 8
- html файл
<select name='city[]'>
<option name='Kabul' value="Kabul" > Kabul </option>
<option name='Herat' value='Herat' selected="selected"> Herat </option>
<option name='Mazar' value='Mazar'>Mazar </option>
</select>
- файл php -
$city = (isset($_POST['city']) ? $_POST['city']: null);
print("city is: ".$city[0]);