我正在构建一个jQuery文件来验证用户输入以便在wordpress网站上登录。我已经完成了检查wordpress数据库中的用户名,电子邮件和密码的功能。我的功能完全适用于用户名和电子邮件,但是使用密码功能我得到500内部服务器错误。我唯一能想到的就是这会导致我试图在wordpress中包含三个文件。我必须使用class-phpass.php来检查密码,因为密码被哈希,然后存储到数据库中。 class-phpass.php文件有一个名为CheckPassword的函数,它将散列密码与纯文本密码进行比较,如果匹配则返回true,否则返回false。我还包括wp-settings.php和wp-load.php,只是试图让我的php文件用于我的验证。
我正在创建此项,以便在用户输入错误的用户名或密码时,不会将用户从灯箱中登录。
这是我检查密码的jQuery函数:
jQuery.post("/wp-content/themes/Landing/includes/check_password.php", {password:pWd2, email:email},
function(data){
if( data == '1' )
{
CheckPassword = true;
}else{
//show that the password is NOT available
alert("The password and/or username you have entered is incorrect!");
CheckPassword = false;
}
});
UPDATE !!! ::
好的,我的php文件正常工作,我的jQuery.post正常运行。但是,我现在遇到了逻辑错误。我正在使用chrome工具并单步执行代码,我需要将false返回到表单以防止网页刷新/重定向。它似乎在提交我在这里的支票后逐步完成功能(数据):
if (CheckUsername == false){
return false;
}
if (CheckPassword == false){
return false;
}
else{
return true;
}
在进入post函数之前检查^ ^该代码块,如果密码不正确,则将CheckPassword设置为false。
答案 0 :(得分:0)
此行应该与您的数据库建立连接:
$connection = mysqli_connect("databaseAddress", "login", "password", "table"); //creates a database connection
“DatabaseAddress
”不是有效的数据库地址,其他选项可能也不是。你必须填写这些凭证。
使用Wordpress时,wp-config.php
中定义了一些常量。试试这一行:
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD); //creates a database connection