PHPでMySQLデータベースのユーザ名とパスワードをチェックし、検証が成功した後にセッションとして保存する関数を書きました。しかし、入力ボックスにどのような値を入力しても、それを承認してログインに成功しました。私のログインコードは、このコードで間違っていると、なぜそれが機能していないものを私に教えてくださいユーザー名とパスワードの検証はPHPでは動作しませんか?
function queryByUserAndPass($tableName, $username, $password){
$queryStatement = "SELECT * FROM ".$tableName." WHERE username='".$username."'
AND password='".$password."' LIMIT 1";
return $queryStatement;
}
function checkLogIn() {
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$queryState = queryByUserAndPass("nepal_users", $username, $password);
if($resultQuery = mysql_query($queryState)){
$found_user= mysql_fetch_array($resultQuery);
$_SESSION['id']=$found_user['id'];
$_SESSION['username']=$found_user['username'];
$message="succesful log in ".$_SESSION['username'];
header("location:home.php");
exit;
}else {
$message="error in log in";
}
}
}
あり、ここで
動作しません。
機能queryByUserAndPass($ tableNameの、$ユーザ名、$パスワード){ \t \t $ queryStatement = "SELECT * FROM" $ tableNameの」WHEREユーザー名=」 "$ username"と入力してください。 "$ username"。 \t \t return $ queryStatement; \t} – monk
ユーザーのパスワードに暗号化がありませんか?同じ方法を適用する必要があります。 – mlinuxgada
session_start()でセッションを初期化しました。 –