下拉数据未发送到$ _POST php

时间:2016-09-20 14:09:37

标签: php html forms

我是编码新手,并且在下拉列表中遇到了一些困难。非常感谢任何帮助!

我有这个:

<html>
    <select name="Subject">
    <option value="One">One</option>
    <option value="Two">Two</option>
    </select>
</html>

<?php
if (isset($_POST['submit'])) {
    echo $_POST['Subject']; 
}
echo '
<form method="post"><input type="submit" name="submit" value="Submit Option!"></form>';
?>

这会给我带来一个未识别的索引错误,因为&#39;主题&#39;每当我点击提交选项按钮。 我做了print_r($_POST)并意识到我选择的下拉列表选项&#34;主题&#34;没有通过。 (即,打印的$_POST数组未显示下拉列表中的任何选定选项)

2 个答案:

答案 0 :(得分:3)

首先要了解HTML表单的一点是,在提交表单时,会提交包含的信息。要为Subject提交值,该字段需要包含在<form>元素中。

<html>
    <?php
    if (isset($_POST['submit'])) {
        echo $_POST['Subject']; 
    }
    ?>
    <form method="post">
        <select name="Subject">
            <option value="One">One</option>
            <option value="Two">Two</option>
        </select>

        <input type="submit" name="submit" value="Submit Option!">
    </form>
</html>

答案 1 :(得分:2)

<form>代码放在<select>之上,如下所示: -

<html>
    <form method="post">

    <select name="Subject">
    <option value="One">One</option>
    <option value="Two">Two</option>
    </select>

    <input type="submit" name="submit" value="Submit Option!"></form>
</html>
<?php
if (isset($_POST['submit'])){
echo $_POST['Subject']; 
}
?>