php-$_POST方法不起作用


php- $_POST method does not work

代码:

<html>
    <body>
    Username: <input type='text' placeholder='Username' name='user' id='user' value='Nytrix'></input><br>
    Password: <input type='password' placeholder='Password'  name='pass'></input><br>
    <input type='submit' value='Login' name='submit'> </input><br><br>
    <?php
        echo $_POST['user'];
    ?>
</body>
</html>
Error: Undefined index: user<br>

无论我如何尝试从输入中获得值,都不会得到它。所以我的问题是我做错了什么,或者为什么它不起作用?

<?php  if (isset($_POST['submit'])) { 
echo $_POST['user'];
}
else
{
?>
<form  name="loginForm" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
 Username: <input type='text' placeholder='Username' name='user' id='user' value='Nytrix'></input><br>
    Password: <input type='password' placeholder='Password'  name='pass'></input><br>
    <input type='submit' value='Login' name='submit'> </input><br><br>
             <?php
}
              ?>

若要存在$_POST,当前页面必须发布。您没有将任何数据发布到此页面。实现这一点的一种方法是向您的页面添加一个表单,您可以在其中添加元素和提交按钮。

示例(w3schools)

<form name="input" action="demo_form_action.asp" method="post">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
</form>

ps:输入元素不管理关闭标记。

您需要提交表单才能访问$_POST内部的数据。在您的示例中,您正在访问$_POST内容,但没有确保有可供提交的。单击提交按钮后,$_POST代码就会工作。

试试这样的东西:

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

您需要<form action="" method="post"> ... Inputs ... </form>。然后你要提交一份表格。