PHP无法访问POST值

时间:2014-05-29 18:22:33

标签: php html forms post

我有一个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) ""

我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

您尚未向<input>提供name属性。

答案 1 :(得分:0)

需要<input name="myname"> 然后在输出文件中放置$_POST['myname']