【问题标题】:HTML POST Form doesn't send any data to PHP script [duplicate]HTML POST 表单不向 PHP 脚本发送任何数据 [重复]
【发布时间】:2018-09-12 06:25:13
【问题描述】:

我有一个由查询 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);
?>

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

【问题讨论】:

  • 添加name属性。
  • 可能是你的错字Query.php vs query.php?
  • 您没有选择名称=??它需要是

标签: php html mysql forms


【解决方案1】:

你必须给你的select 起一个名字,比如:

<select name="name">

【讨论】:

  • 多哈。我知道这是我忽略的极其简单的事情。谢谢。
【解决方案2】:

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

<select name="some_name">

在服务器上:

echo $_POST['some_name'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 2016-06-07
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 2021-12-10
    相关资源
    最近更新 更多