PHP帖子没有表格的值

时间:2016-11-09 14:38:57

标签: php html post

这里是表单的代码(login.php):

<?php
if (Input::exists ()) {
    echo "Input <br/>";
    if (Token::check ( Input::get ( 'token' ) )) {
        echo "Token <br/>";
        $validate = new Validation ();
        $validation = $validate->check ( $_POST, array (
                'username' => array (
                        'required' => true 
                ),
                'password' => array (
                        'required' => true 
                ) 
        ) );

        if ($validation->passed ()) {
            $user = new User ();

            $remember = (Input::get ( 'remember' ) === 'on') ? true : false;
        $login = $user->login ( Input::get ( 'username' ),     Input::get ( 'password' ), $remember );

            if ($login) {
                Session::flash ( 'home', 'You are now logged in!' );
                Redirect::to ( 'index.php' );
            } else {
                echo '<p>Sorry, logging in failed</p>';
            }
        } else {
            foreach ( $validation->errors () as $error ) {
                echo $error, '<br>';
            }
        }
    }else{
        echo "No Token <br/>";
    }
}else{
echo "No Input <br/>";
    var_dump ($_POST);
}
?>
<br />
<div class="row">
<div class="col-md-4 col-md-offset-4">
    <p class="text-center">
        Log in or <a href="index.php?page=register.php">Register</a>
    </p>
    <form class="form-horizontal" action="" method="post">
        <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" name="username"
                    id="username" placeholder="Username" autocomplete="off" />
            </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" name="password"
                    id="password" placeholder="Password" />
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <div class="checkbox">
                    <label> <input type="checkbox" name="remember" id="remember" />
                        Remember me
                    </label>
                </div>
            </div>
        </div>
        <input type="hidden" name="token" value="<?php echo Token::generate(); ?>" />
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <input type="submit" class="btn btn-default" value="Log in" />
            </div>
        </div>
    </form>
</div>

和Input.php:

<?php
class Input{
public static function exists($type = 'post'){
    switch($type){
    case 'post':
        return (!empty($_POST)) ? true : false; 
        break;
    case 'get':
        return (!empty($_GET)) ? true : false;
        break;
    default:
        return false;
        break;
    }
}

public static function get($item){
    if(isset($_POST[$item])){
        return $_POST[$item];   
    }elseif(isset($_GET[$item])){
        return $_GET[$item];    
    }
    return '';
}
}
?>

我没有看到什么是错的。我检查了6次,但仍然没有。 login.php包含在index.php中,但是它只有一个start html-tag头部和body的开始标记。

有人可以解释一下我做错了什么。

1 个答案:

答案 0 :(得分:0)

在表单标签集action="login.php"中,单击登录按钮,表单数据将传递到同一页面进行处理。
或者您可以使用action="<?php echo $_SERVER["PHP_SELF"];?>"选择同一页面进行处理