[PHP-users 29671] Re: sessionを使った認証フォームに関して

立松 聖久 tatemax @ kagoya.net
2006年 7月 9日 (日) 11:32:47 JST


立松です.

|else{
|	if($username <> "" && $password <> ""){
|		$user = addslashes(trim($username));
|		$passwd = addslashes(trim($password));
|		$sql = "SELECT * FROM usr_tb WHERE like username='$user' 
|passwd='$password'";
|		//$sql = "SELECT * FROM usr_tb WHERE like username='$user'";
|		$rows = $conn->getRow($sql,2);//ここを有効にすると、エラーは出ないものの間
|違ったpassでも認証されてしまう。
|		//$result = mysql_query($sql);//上記を無効にし、この2行を有効にすると、こ
|の場所にエラー表示が出て、かつ間違ったpassでも認証されてしまう。
|		//$rows = mysql_num_rows($result);

SQL文のlikeが不要でANDが必要では?
SELECT * FROM usr_tb WHERE username = '$user' AND passwd = '$password'
これで$row === 1で認証OKとすればよいのではないでしょうか?


PHP-users メーリングリストの案内