Używam select
jak poniżej:
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
Jak uzyskać wartość z select
opcji i zapisać ją w zmiennej do wykorzystania w przyszłości w PHP?
Używam select
jak poniżej:
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
Jak uzyskać wartość z select
opcji i zapisać ją w zmiennej do wykorzystania w przyszłości w PHP?
Odpowiedzi:
Użyj w ten sposób:
$selectOption = $_POST['taskOption'];
Ale zawsze lepiej jest podać wartości swoim <option>
tagom.
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
<option>
tagom? „ Jeśli nie podano atrybutu wartości, wartością domyślną jest tekst zawarty w elemencie ”. Jeśli to działa, co w tym złego?
Dostęp do wartości w $_POST
tablicy można uzyskać za pomocą klucza. $ _POST jest tablicą asocjacyjną, więc aby uzyskać dostęp taskOption
, użyjesz $_POST['taskOption'];
.
Przed kontynuowaniem sprawdź, czy istnieje w tablicy $ _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;
}
Ty też możesz to zrobić w ten sposób:
<?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>
<select name="taskOption">
<option value="first">First</option>
<option value="second">Second</option>
<option value="third">Third</option>
</select>
$var = $_POST['taskOption'];
Zależy od tego, czy formularz, w którym znajduje się zaznaczenie, ma metodę ustawioną na „get” lub „post”.
Jeśli <form method="get">
wtedy wartość zaznaczenia zostanie umieszczona w superglobalnej tablicy $_GET['taskOption']
.
Jeśli <form method="post">
wtedy wartość zaznaczenia zostanie umieszczona w superglobalnej tablicy $_POST['taskOption']
.
Aby zapisać go w zmiennej, należałoby:
$option = $_POST['taskOption']
Dobrym miejscem na więcej informacji byłby podręcznik PHP: http://php.net/manual/en/tutorial.forms.php
Lubię to:
<?php
$option = $_POST['taskOption'];
?>
Indeks $_POST
tablicy jest zawsze oparty na wartości name
atrybutu dowolnego wejścia HTML.
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
Spróbuj tego
<?php
if(isset($_POST['button_name'])){
$var = $_POST['taskOption']
if($var == "1"){
echo"your data here";
}
}?>
- plik 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>
- plik php -
$city = (isset($_POST['city']) ? $_POST['city']: null);
print("city is: ".$city[0]);