gpt4 book ai didi

php - 使用 PHP 和 AJAX 请求的简单 MySQL 登录

转载 作者:可可西里 更新时间:2023-11-01 09:00:56 25 4
gpt4 key购买 nike

我正在尝试使用 PHP 创建一个非常简单的 MySQL 登录功能。用户名和密码通过 AJAX 发布到 PHP。 AJAX 函数是:

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();
?>

似乎 $count 总是零,即使用户名和密码是正确的。我已验证用户名和密码已在 PHP 中成功检索。

一个更简单的查询,SELECT * FROM Users 也返回计数 0。

尝试回显或 var_dump $result 导致显示对象对象。

有人能看出这段代码有什么明显的问题吗?我们将不胜感激。

注意:这个简单的函数并不是为了安全而设计的,因此查询格式不安全。

最佳答案

我建议将以下内容更改为字符串并运行 PHP 脚本。如果字符串出现在您的数据库中,您可以排除它是否是由 PHP 脚本引起的,在这种情况下,它将是 html 和 ajax 元素。

//$user = $_POST['username'];
//$pass = $_POST['password'];

$user = 'userTest';
$pass = 'userPass';

关于php - 使用 PHP 和 AJAX 请求的简单 MySQL 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42587161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com