【发布时间】:2013-06-12 22:24:23
【问题描述】:
我使用select如下:
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
如何在 PHP 中从 select 选项中获取值并将其存储到变量中以供将来使用?
【问题讨论】:
我使用select如下:
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
如何在 PHP 中从 select 选项中获取值并将其存储到变量中以供将来使用?
【问题讨论】:
这样使用:
$selectOption = $_POST['taskOption'];
但最好为<option> 标签赋值。
<select name="taskOption">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
【讨论】:
<option>标签赋值总是更好? “If no value attribute is included, the value defaults to the text contained inside the element”。如果有效,那有什么问题?
您可以通过键访问$_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;
}
【讨论】:
你也可以这样做:
<?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'];
【讨论】:
取决于包含选择的表单是否将方法设置为“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
【讨论】:
像这样:
<?php
$option = $_POST['taskOption'];
?>
$_POST 数组的索引始终基于任何 HTML 输入的 name 属性的值。
【讨论】:
<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";
}
}?>
【讨论】:
-- 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]);
【讨论】: