私のWordPressサイトに問題があります。関数ファイルにカスタムPHPを使用してカスタムHTMLフォームを作成し、フォームが送信されたときにユーザーを作成してメールを送信するようにしました。それは素晴らしいですが、達成したいことが1つあります。誰かがユーザー名を作成したときに、既にデータベースに存在する場合、ユーザー名が存在するボックスでエラー・タグを付けたいと思います。この操作を処理する現在のコードは以下のとおりです。現在、エラーメッセージ付きのインデックスページに移動し、5秒後にフォームにリダイレクトされます。私はフォームが提出される前に検証を処理することを好むだろう。PHP - フォーム提出のデータ検証(Wordpress)
答えて
ユーザー名入力フィールドでAJAX呼び出しを行い、それをonkeyupイベントにバインドする必要があるようです。次に、PHPファイルを呼び出すと、このようなものが表示され、結果が成功/失敗メッセージとともに入力の隣に表示されるdivに表示されます。入力したテキストを "user"という名前のURL変数として渡すことができます。
また、ユーザーが実際に送信したときに再検証する必要があるため、既に失敗した場合は元に戻す必要があるため、既存のコードを保持する必要があります。
<?php
include("Path to where the username_exists function is defined");
$user = sqlescape($_GET["user"]);
if (username_exists($user)){
echo 'That username has already been claimed.';
} else {
echo 'That username is available.';
}
?>
AJAX呼び出しが(あなたの入力があるところはどこでも以下)実際のフォームに行くとこのようになります。
<script type="text/javascript">
$("#input_id_here").keyup(function() {
var requestURL = "Full URL where above PHP file is located?user=" + $(this).val();
$.ajax({
url: requestURL,
context: this,
type: 'GET',
success: function(res)
{
$('#input_error_div_id_here').html(res);
}
});
});
</script>
あなたはまた基づいて、入力またはエラーのdivに削除/クラスを追加することができますAJAX呼び出しで返された値を返します。 Javascriptは成功の部分に追加されます。
特にAJAXをワードプレスで使用する必要はありませんでした。これがどうなるか知っていますか? –
私はAJAX呼び出しで自分の答えを更新しました。 – dukedevil294
- 1. PHPフォーム:検証、提出、コンテンツの表示
- 2. フォーム提出のエラー:JavaScriptの検証とPHPの提出
- 3. PHPフォームの検証とデータベースへのフォーム入力の提出
- 4. 提出時のReduxフォームの検証
- 5. フォームの検証と提出(Javaテストケース)
- 6. 検証とフォームの提出は
- 7. フォーム提出時にトリガーフィールドの検証
- 8. 提出時にPHPフォームの検証が機能しない
- 9. 質問フォーム提出後にPHP $ _POSTを検証する
- 10. PHPチェックボックス提出前の検証
- 11. 提出前にデータを検証する
- 12. 検出フォーム検証
- 13. フォーム検証(PHP)
- 14. PHPのフォーム検証
- 15. フォームの入力と検証ボタンを押したまま検証と提出を提出する
- 16. jqueryの検証が成功した場合のPHPフォームの提出方法
- 17. フォーム提出Wordpressでのみ壊れたPHPコード
- 18. フォームは検証なしで提出します
- 19. jQueryの/ PHPフォームの提出
- 20. フォーム検索の提出ヘルプ
- 21. PHP - 検証のためにフォーム提出されたファイルにアクセスする
- 22. PHP Ajaxのフォーム提出
- 23. PHP「破」のエラー提出フォーム
- 24. PHP - フォーム提出時のページリロード
- 25. PHPフォームISSET検証
- 26. PHP URLフォーム検証
- 27. PHP HTMLフォーム検証
- 28. フォーム提出時にブートストラップの検証が機能しない
- 29. PHPとMySQLフォーム提出
- 30. フォームをPHPに再提出
それでは、ページ上にある間にユーザー名を検証するAJAXリクエストを送信する必要があります。 – Luke