我有一个HTML登录表单,如果他们没有登录则由PHP处理并显示给用户。此表单设置为POST到/user.php,后者又访问我的身份验证类,并创建一个会话并返回true或false,并且不会将用户登录。
我的问题是,无论我尝试什么,HTML表单都不会将值POST到PHP处理部分。
这是我目前的源代码:
登录表单:
<div class="panel-body">
<!-- BEGIN ifLogInError -->
<div class="alert alert-danger">
<p>Either your username or password was incorrect. Please try again. <a href="" class="alert-link">Forgotten your password?</a></p>
</div>
<!-- END ifLogInError -->
<form class="form-horizontal" method="post" action="{ROOT}/user.php">
<div class="form-group">
<label for="username" class="col-sm-2 control-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="username" value="" placeholder="Your username">
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="password" value="" placeholder="Your password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-default" value="Sign in" />
</div>
</div>
</form>
</div>
User.php(目前的情况):
echo "<pre>";
var_dump($_POST);
var_dump(file_get_contents("php://input"));
echo "</pre>";
phpinfo();
var_dumps都返回以下内容,表明表单不是POST:
array(0) {
}
string(0) ""
我在这里做错了什么?
答案 0 :(得分:3)
您尚未向<input>
提供name
属性。
答案 1 :(得分:0)
需要<input name="myname">
然后在输出文件中放置$_POST['myname']