我使用 select如下:
select
<select name="taskOption"> <option>First</option> <option>Second</option> <option>Third</option> </select>
如何从 select选项获取值并将其存储到一个变量中以便将来在 PHP 中使用?
像这样:
<?php $option = $_POST['taskOption']; ?>
$_POST数组的索引总是基于任何 HTML 输入的 name属性的值。
$_POST
name
这样使用:
$selectOption = $_POST['taskOption'];
但是给 <option>标记赋值总是更好的做法。
<option>
<select name="taskOption"> <option value="1">First</option> <option value="2">Second</option> <option value="3">Third</option> </select>
可以通过键访问 $_POST数组中的值。$_ POST 是一个关联数组,因此要访问 taskOption,可以使用 $_POST['taskOption'];。
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; }
<select name="taskOption"> <option value="first">First</option> <option value="second">Second</option> <option value="third">Third</option> </select> $var = $_POST['taskOption'];
这取决于包含选择的表单的方法设置为“ get”还是“ post”。
如果 <form method="get">,则 select 的值将位于超全局数组 $_GET['taskOption']中。
<form method="get">
$_GET['taskOption']
如果 <form method="post">,则 select 的值将位于超全局数组 $_POST['taskOption']中。
<form method="post">
$_POST['taskOption']
要将它存储到一个变量中,您需要:
$option = $_POST['taskOption']
了解更多信息的一个好地方是 PHP 手册: http://php.net/manual/en/tutorial.forms.php
你也可以这样做:
<?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>
对于 php8+版本,可以使用 match表达式:
php8+
match
$select = $_POST['select1'] ?? ''; $result = match ($select) { 'value1' => 'this is value1', 'value2' => 'this is value2', default => 'unknown value', }; echo $result;
试试这个
<?php if(isset($_POST['button_name'])){ $var = $_POST['taskOption'] if($var == "1"){ echo"your data here"; } }?>
—— 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]);