未在$ _POST中设置的值

时间:2014-06-21 19:14:17

标签: php html forms

我在index.php上有一个登录表单和脚本。问题是PHP代码似乎没有拿起我放入的字段。

这是PHP代码:

<?php
    if(isset($_POST['user'])||isset($_POST['pass'])){
        ?>
            <script>
                $('#login-drop').addClass('open');
                console.log('Opening');
            </script>
        <?php
        if(isset($_POST['user'])){
            if(isset($_POST['pass'])){
                login();
            } else{
                ?>
            <script>
                $('#pass-group').addClass('has-error');
                console.log('Password has error.');
            </script>

                <?php
            }
        } else {
            ?>
            <script>
                $('#user-group').addClass('has-error');
                console.log('User has error');
            </script>
            <?php
        }
    } else {
        echo 'Nothing was entered'; 
    }

    function login(){
        echo 'Both username and password was entered.';
    }
?>

这是我的HTML表单:

        <form class="form-horizontal" method="post" action="?login">
              <fieldset>
                <legend>Log in</legend>
                <div class="form-group" id="user-group">
                  <label for="user" class="col-lg-2 control-label">Username</label>
                  <div class="col-lg-10">
                    <input class="form-control" id="user" placeholder="Username or Email" type="text">
                  </div>
                </div>
                <div class="form-group" id="pass-group">
                  <label for="pass" class="col-lg-2 control-label">Password</label>
                  <div class="col-lg-10">
                    <input class="form-control" id="pass" placeholder="Password" type="password">
                    <div class="checkbox">
                      <label>
                        <input type="checkbox"> Remember me
                      </label>
                    </div>
                  </div>
                 </div>
                 <div class="form-group">
                    <div class="col-lg-10 col-lg-offset-2">
                    <button class="btn btn-primary" type="submit">Log in</button>
                    </div>
                 </div>
                </fieldset>
        </form>

即使我输入字段,它仍然显示Nothing was entered.我看不到问题,但我倾向于忽视很多事情。

PS。我正在使用Bootstrap,所以这些类应该可以工作。我测试了它们。

2 个答案:

答案 0 :(得分:3)

您需要提供输入元素name,否则不会提交其值。 id对您的JavaScript代码也可能有用,但它们无法解决该问题。

所以你想做的是

<input name="user" id="user" ... >

答案 1 :(得分:0)

您尚未在<input>标记中添加“name”属性,即

<input class="form-control" id="user" placeholder="Username or Email" type="text" name="user">