wordpress サイトにログインするためのユーザー入力を検証する jQuery ファイルを作成しています。ユーザー名、電子メール、およびパスワードのワードプレスデータベースをチェックする機能を作成しました。ユーザー名と電子メールに対して完全に機能する機能がありますが、パスワード機能を使用すると、500 内部サーバー エラーが発生します。これを引き起こしていると私が考えることができる唯一のことは、ワードプレスから3つのファイルを含めようとしたことです. パスワードはハッシュされてからデータベースに保存されるため、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;
}
});
アップデート!!!::
OK、php ファイルが正常に動作し、jQuery.post も正常に動作しています。ただし、現在、論理エラーが発生しています。クロム ツールを使用してコードをステップ実行しています。フォームに false を返して、Web ページが更新/リダイレクトされないようにする必要があります。ここにあるチェックのために提出した後、関数(データ)をステップスルーするようです:
if (CheckUsername == false){
return false;
}
if (CheckPassword == false){
return false;
}
else{
return true;
}
^ ^ post 関数にステップインする前にそのコード ブロックをチェックし、パスワードが正しくない場合は CheckPassword を false に設定します。