少し前にあるページで見つけたログイン スクリプトがあり、ユーザーが有効かどうかを確認するコードを見ていると、少量のコードが冗長であるように見えます。
$qry = "SELECT username FROM users WHERE ".
"username = '". $username ."' AND password = '" . md5($password) . "'";
$result = mysql_query($qry);
if(mysql_num_rows($result) == 1) {
while($row = mysql_fetch_assoc($result)) {
$_SESSION['USERNAME'] = $username;
$_SESSION['PASSWORD'] = $password;
}
session_write_close();
header("location: memberpage.php");
} else { .... }
if-code はユーザーが有効かどうかを既にチェックしているため (1 行が返されます)、while ループは冗長に見えます。whileループを削除して同じ結果を得ることができますか、それとも、行数が有効であることを実際に確認するために、ある種の追加のセキュリティのようにそこにいる必要がありますか?