isset($ _ POST)不工作但是isset($ _ GET)工作......为什么?

时间:2017-05-31 17:01:48

标签: php html

当我写 - if(isset($_POST['submit']))时,它总是评估为假..而如果我只是将$_POST更改为$_GET,它就会正常工作。

我的HTML代码 -

<html>
    <body>
        <form action="welcome.php" action="post">
            <input type="text" name="username"> <br>
            <input type="submit" name="send">Click me </input>
        </form>
    </body>
</html>

我的PHP代码 -

<?php
$name="default";
if(isset($_POST['send'])){
    $name = $_POST['username'];
}
echo $name;
?>

我得到的输出是“默认”而不是我在html 形式的输入字段中键入的内容..你能说出原因吗?提前谢谢。

2 个答案:

答案 0 :(得分:3)

设置请求方法的正确属性是method

<html>
    <body>
        <form action="welcome.php" method="post">
            <input type="text" name="username"> <br>
            <input type="submit" name="send" />
        </form>
    </body>
</html>

答案 1 :(得分:2)

我只是将我的评论添加为社区wiki答案;我不想要这样的代表。

  

&#34;但是isset($ _ GET)工作......为什么?&#34;

由于;方法错误(没有),当它失败时,它(形式)默认到GET方法。

这是真正发生的事情。