PHPを使用して非常に単純なMySQLログイン機能を作成しようとしています。ユーザー名とパスワードはAJAXを介してPHPに送信されます。 AJAX機能は次のとおりです。PHPとAJAXリクエストを使用した簡単なMySQLログイン
function login(){
var user = document.getElementById("username").value;
var pass = document.getElementById("password").value;
$.ajax({
url : "login.php",
type : "POST",
data : {
username : user,
password : pass
},
success : function(response){
alert(response);
},
error : function(response){
alert(response);
}
});
}
ログインスクリプト:
$conn = new mysqli($host, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
$user = $_POST['username'];
$pass = $_POST['password'];
$query="SELECT * FROM Users WHERE email = '$user' AND password ='$pass' LIMIT 1";
$result = $conn->query($query);
$count = $result->num_rows;
if($count == 1){
echo "success";
}else{
echo "incorrect login details";
}
$conn->close();
?>
$カウントは、ユーザー名とパスワードが正しい場合でも、常にゼロであるようです。 PHPでユーザ名とパスワードが正常に取得されていることを確認しました。
さらに単純なクエリ、SELECT * FROMユーザーも0
エコーしようとするまたはオブジェクトオブジェクト内のvar_dumpの$結果結果が表示されているの数を返します。
誰もこのコードで目立った問題を見ることはできますか?新鮮な目のセットは非常に高く評価されます。
注:この単純な関数は安全であるようには設計されていないため、安全でないクエリの書式設定が行われます。
$ count = mysqli_num_rows($ result);これを試してみてください – cfprabhu
あなたはエコーをしていただけますか?** $ query ** ?? – HoangHieu
@cfprabhuアラートはたいてい「間違ったログインの詳細」を表示し、たまにオブジェクトオブジェクトを表示します。 – denverCoder9