我在使用基于会话的登录(使用 PHP、HTML 和 CSS 实现)时遇到问题。到现在为止还挺好。现在我希望当您输入错误时,会出现警告。首先,我刚刚创建了带有附加警告的第二页。但最好在 AJAX 中实现这一点(也许使用 jQuery)。但现在我有一个问题。由于我已经实现了 AJAX 部分,我无法登录。每次出现警告。当我删除 AJAX 请求时,一切正常。似乎不再调用php验证部分。但我不知道为什么。这是代码:
这是验证的一部分(loginscript.php)。登录表单的名称为 loginform,submit.button 的名称为 login。
else if (isset( $_POST['login'] ))
{
$username = $_POST['username'];
$password = $_POST['password'];
$clean_username = strip_tags(stripslashes(mysql_real_escape_string($username)));
$clean_password = (strip_tags(stripslashes(mysql_real_escape_string($password))));
$hash_password = saltedHash($clean_password, $clean_username);
$sql = mysql_query("SELECT * FROM $loginTable WHERE $attUsername = '$clean_username' AND $attPassword = '$hash_password'");
if (mysql_num_rows($sql) == 1)
{
$_SESSION['logged'] = true;
echo 'correct';
header('refresh:2;url=ajax/cmapp.php');
exit;
}
}
显示的部分不起作用,因为我使用它:
$(document).ready(function()
{
$("#tr1").hide();
/* sendung formular abfangen */
$("#loginform").submit(function() {
/* ajax objekt zum aufruf & versand an das skript
'name' und 'email' sind in der data-zeile die variablen für das php-skript */
$.ajax({
type: "POST",
url: "loginscript.php",
data: "username=" + $("#username").val() + "&password=" + $("#password").val(),
success: function(msg)
{
if (msg == 'correct')
{
alert("hjlkjl")
window.location='ajax/cmapp.php';
}
else
{
$("#tr1").hide().load("message.html").fadeIn(0);
}
每次执行 else 部分。