verifyUser が true を返すたびに、if ステートメントを実行する必要がありますが、何らかの理由でヘッダーの場所に移動する代わりに、ページが更新され、それがすべてです。入力情報が正しいことを確認しましたが、情報が正しくない場合、else ステートメントは完全に正常に実行されます。なぜこれが起こっているのかについて何か考えがある人は、私に知らせてください。ありがとうございました。
header() ステートメントが作成されるセグメントは次のとおりです。
function validateUser($name, $pass)
{
$check = verifyUser($name, md5($pass));
if($check)
{
$_SESSION['status'] = 'authorized';
header('location: index.php');
} else{
echo'Please enter a correct username and password <br />';
echo "<a href='http://localhost/cms/admin/login.php'>Try Again?</a>";
exit;
}
}
これは、誰かが必要とする場合に備えて、verifyUser 関数です。
function verifyUser($name, $pass)
{
// Escape strings
$username = mysql_real_escape_string($name);
$password = mysql_real_escape_string($pass);
$result = mysql_query("select * from users where username='$username' and password='$password' limit 1");
if (mysql_num_rows($result)>0)
{
return true;
} else{
return false;
}
}