为什么此代码 post 不是我屏幕上的选定选项?

Why doesn't this code post the selected option on my screen?

<?php
if ($_POST['submit']){
    $myvalue=$_POST['sub1'];
    echo $myvalue;
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form action='test322.php' method='POST'>
           <input type='submit' name='submit' value='submit'>
        </form>
        <select id='sub1' name='sub1'>
            <option value="fsd1">dssdds1</option>
            <option value="fsdff2">dssfddds2</option>
            <option value="fsdff3">dssfddds3</option>
        </select>
    </body>
</html>

大家好, 谁能告诉我为什么这段代码没有 post 我屏幕上的选定选项?先感谢您!

看看 </form> 的结束标记,它太高了。 把它放在 </select> 下你会很高兴 ;)

<?php
if (isset($_POST['submit'])){
    $myvalue=$_POST['sub1'];
    echo $myvalue;
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form action='test322.php' method='POST'>
<select id='sub1' name='sub1'>
            <option value="fsd1">dssdds1</option>
            <option value="fsdff2">dssfddds2</option>
            <option value="fsdff3">dssfddds3</option>
</select>
<input type='submit' name='submit' value='submit'>
            </form>


    </body>
</html>

您需要通过移动 </form>:

在您的表单中包含 select 元素
    <form action='test322.php' method='POST'>


        <select id='sub1' name='sub1'>
            <option value="fsd1">dssdds1</option>
            <option value="fsdff2">dssfddds2</option>
            <option value="fsdff3">dssfddds3</option>
            </select>
            <input type='submit' name='submit' value='submit'>
           </form>//add this tag

并且您需要像这样检查 POST 值:

if (!empty($_POST)){
{
    $myvalue=$_POST['sub1'];
    echo $myvalue;
}

select 元素不是您表单的一部分。

移动表单的结束标记,即 </form></select>

之后

你的代码有一些错误:

1) 您需要在代码中发送的所有数据都需要位于标签之间。所以,你的 select 不是。

2) 要获取您的 POST 数据,只需使用 $_POST.

<?php
if ($_POST){
    $myvalue = $_POST['sub1'];
    echo $myvalue;
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
            <form action='test322.php' method='POST'>
            <input type='submit' name='submit' value='submit'>
            <select id='sub1' name='sub1'>
                    <option value="fsd1">dssdds1</option>
                    <option value="fsdff2">dssfddds2</option>
                    <option value="fsdff3">dssfddds3</option>
                </select>
        </form>

    </body>
</html>

希望对您有所帮助。

您的 select 不属于您的 form。试试这个:

<?php
if (isset($_POST['submit'])){
    $myvalue=$_POST['sub1'];
    echo $myvalue;
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form action='lol.php' method='POST'>
            <select id='sub1' name='sub1'>
                <option value="fsd1">dssdds1</option>
                <option value="fsdff2">dssfddds2</option>
                <option value="fsdff3">dssfddds3</option> 
            </select>
            <input type='submit' name='submit' value='submit'>
        </form>  
    </body>
</html>