php - 当我调用它来登录时,我的 AJAX 和 PHP 有什么问题?
问题描述
我在使用 ajax 和 php 的登录表单时遇到了一些问题,有人可以解决这个问题吗?这是代码 html: login.html
<div id="id01" class="modal">
<form class="modal-content animate" action="" method="POST" id="login-form">
<div class="container">
<label for="login-email"><b>Username</b></label>
<input type="text" placeholder="Enter Email" id="login-email" name="login-email" required>
<label for="login-password"><b>Password</b></label>
<input type="password" placeholder="Enter Password" id="login-password" name="login-password" required>
<label>
<input type="checkbox" checked="checked" name="remember"> Remember me
</label><br>
<span id="showError"></span>
<button type="submit" id="btn-login" name="btn-login">Login</button>
</div>
<div class="container" style="background-color:#f1f1f1">
<button type="button" onclick="document.getElementById('id01').style.display='none'" class="cancel-btn">Cancel</button>
<span class="psw">Forgot <a href="#">password?</a></span>
</div>
</form>
</div>
<script>
$(document).ready(function(){
$("#btn-submit").click(function{
var login-email = $("#login-email").val();
var login-password = $("#login-password").val();
var error = $("#showError");
if(login-email != "" && login-password != ""){
$.ajax({
url: "checkLogin.php",
type: "POST",
data: { login-email: login-email, login-password: login-password},
success: function(response){
var msg = "";
if(response == "success"){
window.location = 'profile.php';
} else {
msg = "Tên đăng nhập hoặc mật khẩu không chính xác.";
}
$('#id01').css({"display": "block"});
error.html(msg);
}
});
} else {
error.html("Email đăng nhập hoặc mật khẩu không được bỏ trống.");
return false;
}
});
});
</script>
这是代码 php login.php
if(isset($_POST["btn-login"])){
$email = trim($_POST["login-email"]);
$password = trim($_POST["login-password"]);
$sql_login = "SELECT email, password, permission FROM users where email='$email' and password='$password'";
$db->query($sql_login);
$rows = $db->findOne();
$permission = $rows['permission'];
if($rows['email'] == $email && $rows['password'] == $password){
echo "success";
} else {
echo "fail";
}
exit();
}
似乎没有加载到 ajax 和 php 代码中,因为我尝试了很多次,但我不知道这里的错误。
解决方案
乍一看,您的 jQuery 正在引用btn-submit
,但您的 html 将其定义为btn-login
。
推荐阅读
- java - Google Maps Direction API Android Studio - 在路线之间添加一个额外的航点
- kubernetes - Prometheus + Kubernetes - 即使是短暂的,所有的 pod 都会获得价值吗?
- webgl - Webgl使用顶点着色器中的偏移量旋转两个三角形而不使用变换矩阵
- swift - Swift & Firestore - 检查集合中的文档总是返回 false
- c# - 使用 HttpClient 时出现意外响应
- node.js - 在 Ubuntu 上通过 Compass 加载 MongoDB Atlas 时出错
- python - 将 Python 列表项分解为更小的列表,替换新的子列表项,并将列表与新值重新组合在一起
- java - 搜索的项目在点击时给我错误的结果
- java - 为什么我在Android中从毫秒转换为本地时间时时间不正确?
- ef-core-3.1 - ef core 接收奇怪的主机不能为空错误