HTML POST表单不会将任何数据发送到PHP脚本

时间:2018-09-11 20:38:32

标签: php html mysql forms

我有一个下拉菜单,该菜单由查询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>

这可以正常工作,并且看起来效果很好:

enter image description here

Query.php只是一行测试脚本,只是为了查看表单是否确实在发送数据。

<?php 
    var_dump($_POST);
?>

不是。我提交表单时得到的只是array(0){}。表单不向脚本发送任何内容。我在做什么错了?

2 个答案:

答案 0 :(得分:3)

您必须给select命名,例如:

<select name="name">

答案 1 :(得分:1)

$_POST是一个键值数组。其中key是html元素(nameinputselect)的textarea属性值。如果没有name-您将如何从$_POST获得价值?因此,它是:

<select name="some_name">

在服务器上:

echo $_POST['some_name'];