代码:
<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>
。然后你要提交一份表格。