所以我按照这个关于使用PHP设置登录系统的youtube指南,当我到达用户的用户名和密码检查数据库的身份验证部分时遇到了一些麻烦。 即使提交了数据库中正确的用户名和密码,login.php中的if语句也会回显“用户名或密码不正确!” dbh.php <=这连接到本地数据库 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我试图在不离开页面的情况下验证用户对我的数据库的信息,并且只有在信息正确的情况下它才会离开页面并将用户路由到用户门户。 PHP工作正常,它检查信息,如果正确将用户路由到门户网站,如果为false则路由到空白页面。
我要做的是拦截提交,对数据库进行验证,如果为false则输出错误消息,如果正确则路由用户。
我认为我面临的错误是如何让PHP以某种方式向jQuery“发出信号”它是错误的
我已经创建了一个提交处理程序,它阻止表单提交,然后序列化它并将其发送到checkLogin.php,但之后我没有得到任何结果。
如果信息正确,我没有将用户发送到任何地方,因此如果用户名和密码正确,则不会发生任何事情
这是checkLogin.php - DB被替换为连接的实际数据库,我不是在localhost上托管,所以信息是私有的
<?php
$link = mysqli_connect('DB', 'DB', 'DB', 'DB'); //Database Connection
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$username = mysqli_real_escape_string($link, $_POST['username']); //Retrieving the username
$password = mysqli_real_escape_string($link, $_POST['password']); //Retrieving the password
$user_sql = "SELECT username FROM login WHERE username = '$username'"; //Setting the SQL query
$user_check = mysqli_query($link, $user_sql); //Putting the result of the query (^) into a variable
if ($user_check) {
$test = "THIS WAS A SUCCESS";
} else {
$test = "THIS WAS A FAILURE";
}
?>
这是login.js中的函数 - 在用户单击提交后调用该函数
function checkLogin() {
$("#login_form").submit(function(event) { //Submit Handler
var post = $.post("checkLogin.php", $form.serialize());
post.done(function() { //When the function is successfully submitted
});
//$("#login_form").submit(); //Submit the form (blocked for now)
});
}
login.html - 表单
<form action="login.php" method="post" name="login_form" id="login_form">
<div class="loginTitle">Client Login</div>
<div class="loginLabel">Username: <span id="userError"><?php echo $test ?></span></div>
<input type="text" name="username" class="loginBox" id="userName">
<div class="loginLabel">Password: <span id="passError"></span></div>
<input type="password" name="password" class="loginBox" id="passWord">
<br>
<input type="checkbox" name="rememberMe" value="rememberMe" id="remMe">Remember me for next time
<br>
<input type="submit" value="Login" name="submit" id="submit">
</form>
login.html - 在顶部
<?php
include ("checkLogin.php");
?>
预期:当我输入错误的用户名时,应该在表单标签旁边说“这是一个失败”
实际:没什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.