1

私はあなたがここで見ることができる登録フォームをデザインしました. これには、ユーザー名が MySQL データベースに既に存在するかどうかを確認する以外のすべてを処理する JavaScript 検証スクリプトが含まれています。

これが現在処理されている方法は、フォームの送信時に呼び出される別の PHP ページ (register.php) によるもので、MySQL データベースに対してチェックを行い、ユーザー名が既に存在する場合はテキストを表示し、HTML ページに戻るリンクとともに、登録フォーム。

ユーザーがフォームを送信しようとしたが、ユーザー名が既に存在する場合、新しい PHP ページをロードする必要はありませんが、(他のすべての検証と同様に) HTML フォームにエラー メッセージを追加する方法があるかどうか疑問に思っています。これを行う唯一の方法は、フォームが投稿する別の PHP を持たず、2 番目のファイル (データベースに接続し、ユーザー名をチェックし、新しいユーザーを追加する) のすべての PHP をメインに含めることです。登録ページ?

これが明確であることを願っています!

ありがとう、

ニック

4

2 に答える 2

3

私はあなたがajaxリクエストについて話していると思いますか?それが何であるかわからない場合は、それをグーグルで検索すると、それに関する多くの情報が見つかります。

私はいつもjQueryやdojoのようなjavascriptライブラリを使用しています。これによりajaxがはるかに簡単になりますが、javascriptを少し使用するためにjavascriptライブラリ全体のオーバーヘッドを追加したくない場合があります。

基本的な前提は次のとおりです。

  1. javascriptは、サーバー(この場合はregister.phpページ)にリクエストを送信します。
  2. register.phpファイルは、ajaxリクエストで渡したパラメーターで実行されます。
  3. javascriptは、register.phpファイルから応答を受け取ります。この場合、次のようなことを行うのがおそらく最も簡単です。

    • ユーザー名が存在する場合はfalseを返します。これは、JavaScript関数がコールバックで使用して検証エラーをポップアップすることができます。

    • ユーザー名が存在しない場合、register.phpファイルはそれらを登録/ログインでき、javascriptにtrueを返します。次に、JavaScriptは、バックグラウンドで何も起こらなかったかのように、ユーザーが移動するはずのページにユーザーをリダイレクトします。

コーディングの目的で、jQueryを使用してそれを行う方法に関するいくつかの擬似コードを次に示します。

$.ajax({
  url:'register.php?username=theUsersName',
  dataType:'html',
  success:function(data){
    if (data)
      --redirect to homepage
    else
      --pop up validation error
  }
});
于 2012-04-26T22:34:42.837 に答える
0

私はこれがまさにあなたが探しているものだと思います:

http://www.99points.info/2010/06/live-availability-checking-with-ajax-and-jquery/

于 2012-04-27T08:32:31.500 に答える