私は次のようなコードを持っています:
<?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 )
}