0

私は次のようなコードを持っています:

<?php 
require 'database/db.php';
if($_SERVER["REQUEST_METHOD"] == "POST") {
   $name = $_POST["userid"];
   $password = $_POST["password"];
   if (empty($name) || empty($password)) {
      header("Location : AdminLogin.php?status=failure");
       exit();
    }
   $count = verifyUser($name, $password);
    if($count == 1 )
     {
        header("Location : AdminLogin.php?status=success");
      }
    else {
        header("Location : AdminLogin.php?status=failure");
      }

   exit;
}
?>
<?php include('inc/header.php'); ?>
  <div class = "section page">
    <div class ="wrapper">
      <div class="page-header">
        <b>Admin Login </b>
      </div>
      <?php if(isset($_GET["status"]) AND $_GET["status"]=="success") { ?>
        <p> Your login was a success .. I will redirect you to another page.</p>
      <?php } else {?>
      <form method="post" class="form-signin" action="AdminLogin.php">
        <h2 class="form-signin-heading">Sign In</h2>
        <input type="text" name ="userid" class="input-block-level" placeholder="UserID...">
        <input type="password" name ="password" class="input-block-level" placeholder="Password...">
        <button class="btn btn-large btn-primary" type="submit">Sign in</button>
      </form>
        <?php } ?>
    </div>
  </div>

<?php include('inc/footer.php'); ?>

[サインイン]ボタンをクリックするとすぐに、サーバー側でユーザーの検証を実行し、ログインが成功したかどうかにかかわらず、int(boolである必要があります、同意します)を返します。

同じページにリダイレクトしています。

調査結果..。

$countが正しく返されることを確認しました。つまり、ユーザー名とパスワードがcount = 1と一致する場合、それ以外の場合はcount!=1です。ここまでは順調ですね。その後失敗することにも気づきました。

ありがとうGagan

編集:verifyUser(これは単なるスタブです)

function verifyUser($username, $password)
{
    return  strcmp ( $username , $password )
}
4

2 に答える 2

1

次の後に余分なスペースを削除してみてくださいLocation

... header("Location : ...
                    ^
于 2013-02-26T01:45:29.267 に答える
0

あなたはverifyUser()を表示しませんでした、それは「真実の」パーチャンスを返しますか?それがtrue/booleanであるかどうかをテストしているからです。

于 2013-02-26T01:47:17.550 に答える