我有一个下拉菜单,该菜单由查询MySQL数据库的PHP脚本填充(非常简单的表,每一行只是一个id和一个名称)。
<html>
<body>
<form method="POST" action="query.php">
<select>
<option selected="yes">Choose value</option>
<?php while($row = mysqli_fetch_assoc($query)){
echo '
<option value="'.$row['id'].'" name="'.$row['name'].'">'.$row['name'].'</option>
';
}
?>
</select>
<input type="submit" value="submit">
</form>
</body>
</html>
这可以正常工作,并且看起来效果很好:
Query.php只是一行测试脚本,只是为了查看表单是否确实在发送数据。
<?php
var_dump($_POST);
?>
不是。我提交表单时得到的只是array(0){}。表单不向脚本发送任何内容。我在做什么错了?
答案 0 :(得分:3)
您必须给select
命名,例如:
<select name="name">
答案 1 :(得分:1)
$_POST
是一个键值数组。其中key
是html元素(name
,input
,select
)的textarea
属性值。如果没有name
-您将如何从$_POST
获得价值?因此,它是:
<select name="some_name">
在服务器上:
echo $_POST['some_name'];