ユーザー資格情報を確認するためにデータベースからデータを取得しています。パスワードが一致しない場合、ユーザーをログイン ページにリダイレクトしたいと考えています。ただし、これは決して起こりません。代わりに、chat_main.php にリダイレクトされます。
他のすべてのケース (無効な電子メール、有効な電子メールとパスワードの組み合わせ) では正常に機能します。
これが私のコードです:
<?php
session_start();
require_once("config/db_connect.php");
$usr=$_POST['email'];
$pwd=$_POST['password'];
$q="SELECT * FROM userdata WHERE email=\"$usr\"";
$info=mysql_query($q, $conn);
if(mysql_num_rows($info)!=1){
header("Location: login.php?err=1");
}
else{
while($data=mysql_fetch_array($info)){
if($pwd!=$data['pwd']){
header("Location: login.php?err=1");
}
$usr=$_SESSION['username']=$data['fname'];
header("Location: chat_main.php?username=$usr");
}
}
?>
このように動作するのはなぜですか? また、これをどのように解決できますか?