ホームページ >ウェブフロントエンド >jsチュートリアル >AJAXとPHPを使用して、メーリングリストを作成します

AJAXとPHPを使用して、メーリングリストを作成します

William Shakespeare
William Shakespeareオリジナル
2025-03-08 00:34:14140ブラウズ

Use AJAX and PHP to Build your Mailing List

JSフォルダーの内部は、prototype.jsファイルと並んで、maelinglist.jsというファイルです。このファイルには、このページに固有のAJAX機能を駆動するコードが含まれています。このファイルの最初のビジネスアイテムは、イベントリスナーをフォームエレメントの送信イベントに追加することです。これにより、サーバーへのAJAXコールがトリガーされます。ただし、すぐにこれを行うことはできません。ページが読み込まれるまで待つ必要があります。これは、ウィンドウオブジェクトのロードイベントで意味されます。
これらのイベントリスナーを追加するには、プロトタイプの便利な観察方法を使用します。まず、ページのロードイベントにリスナーを追加します。このリスナー内では、イベントリスナーをフォームの送信イベントに添付します。

フォームのイベントリスナーは、フォームの送信時にJavaScript関数StoreAddressを呼び出すことに注意してください。このStoreAddress関数には、JavaScriptが含まれており、PHPスクリプトにAJAX呼び出しを行います。これがどのように見えるか次のとおりです

この関数は非常に簡単です。 「メールアドレスを追加する」メッセージを表示することで、ユーザーに何かが起こっていることをユーザーにさせることから始めます。次に、AJAXリクエストを送信する準備のためにフォームから情報を収集します。プロトタイプの$ f関数を使用してテキストフィールドのコンテンツにアクセスする方法に注意してください。これは、そのフォーム要素のIDに供給された場合に特定のフォーム要素の値を取得します。 JavaScript Escape関数を使用して、ユーザー入力をUnicode形式に変換します。これにより、そのURLはGETメソッドを介してPHPスクリプトに配信する準備ができています。

次に、この関数の最も重要な部分、つまり新しいajax.updaterオブジェクトの作成があります。 ajax.updaterオブジェクトを作成すると、次のようなパラメーターを渡します。
// Attach handler to window load event <br>
Event.observe(window, 'load', init, false); <br>
 <br>
function init() { <br>
  // Attach handler to form's submit event <br>
  Event.observe('addressForm', 'submit', storeAddress); <br>
}

function storeAddress(e) { <br>
  // Update user interface <br>
  $('response').innerHTML = 'Adding email address...'; <br>
  // Prepare query string and send AJAX request <br>
  var pars = 'address=' + escape($F('address')); <br>
  var myAjax = new Ajax.Updater('response', 'ajaxServer.php', {method: 'get', parameters: pars}); <br>
  // Stop form from submitting when JavaScript is enabled <br>
  Event.stop(e); <br>
}
サーバーからの応答を表示したい要素のID

PHPスクリプトのURL

サーバー側のスクリプトに送信するデータと、配信方法(つまり、投稿または取得)
  1. ajax.updaterは、メールアドレスをサーバーに送信し、応答を辛抱強く待ちます。応答を受信すると、メソッドの開始時に挿入した「メールアドレスの追加…」メッセージの代わりに表示されます。最後に、event.stop(プロトタイプライブラリから提供された別の関数)を呼び出して、フォームが実際にサーバーに送信されるのを止めます。
    メーリングリストデータベースを設定します
  2. メールアドレスを保存するためにPHPを書く前に、それらを置く場所が必要です。このSQLは、あなたのためのMailingListという名前のテーブルを構築します:
    // Attach handler to window load event <br>
    Event.observe(window, 'load', init, false); <br>
     <br>
    function init() { <br>
      // Attach handler to form's submit event <br>
      Event.observe('addressForm', 'submit', storeAddress); <br>
    }
    コードアーカイブに含まれている

    は、createTable.phpと呼ばれるPHPファイルで、このテーブルを作成します。ただし、このファイルを実行する前に、MySQLデータベースの詳細を使用してDBConstants.phpファイルを更新する必要があります。次のセクションでこれらの定数を使用するので、このファイルを今すぐ更新することをお勧めします。

    メールアドレスの保存
    アドレスをサーバーに配信するようにすべてを設定しました。これで、PHPはデータベースにアドレスを保存し、Ajaxオブジェクトに文字列を返して成功または失敗を示すことにより、プロセスを完了します。メールアドレスが送信されるajaxserver.phpファイルを見てみましょう。

    この非常にシンプルなPHPスクリプトは、Storeaddressという関数を呼び出し、AjaxオブジェクトにStoreaddressによって返されたメッセージを返します。 Ajaxオブジェクトとの通信は、文字列を印刷するのと同じくらい簡単です。
    function storeAddress(e) { <br>
      // Update user interface <br>
      $('response').innerHTML = 'Adding email address...'; <br>
      // Prepare query string and send AJAX request <br>
      var pars = 'address=' + escape($F('address')); <br>
      var myAjax = new Ajax.Updater('response', 'ajaxServer.php', {method: 'get', parameters: pars}); <br>
      // Stop form from submitting when JavaScript is enabled <br>
      Event.stop(e); <br>
    }
    最初にStoreaddressが行うことは、非壊れたスペースへの$メッセージと呼ばれる変数を初期化することです。次に、スクリプトがクエリ文字列の電子メールアドレスを受信したことを確認します。そうでない場合は、$ message変数セットを破壊しないスペースとして残します。 $メッセージは、この関数の終わりに発信者に返されます。

    操作するメールアドレスがあると確信したら、有効なアドレスであることを確認する必要があります。正規表現を使用して、 @シンボル、より多くの英数字、期間、およびより多くの英数字の文字が続く英数字のいくつかの文字を探します。このテストが失敗した場合、$メッセージをエラーメッセージに設定し、入力されたメールアドレスが無効であることをユーザーに通知します。

    CREATE TABLE `mailinglist` ( <br>
      `id` INT NOT NULL AUTO_INCREMENT , <br>
      `email` TEXT NOT NULL , <br>
      PRIMARY KEY ( `id` ) <br>
    );
    アドレスがこのテストに合格した場合、データベースに保存します。これを行うには、MySQLに接続し、データベースを選択し、挿入クエリを実行します。アドレスが適切に保存されている場合、成功メッセージに$メッセージを設定します。それ以外の場合は、エラーメッセージに$メッセージを設定します。

    <?php <br>
    require_once("inc/storeAddress.php"); <br>
    echo(storeAddress()); <br>
    ?>
    最後に、$メッセージをajaxserver.php:

    に返します

    function storeAddress() { <br>
      $message = " "; <br>
      // Check for an email address in the query string <br>
      if( !isset($_GET['address']) ){ <br>
        // No email address provided <br>
      }
    ここで、ページを読み込み、メールアドレスを入力し、フォームを送信します。ページをリロードせずにメーリングリストテーブルにメールアドレスが追加されるようになります。 JavaScriptを無効にしたとしても、JavaScriptを使用してStoreAddressの出力を動的にページに挿入する代わりに、ページのPHPコードのHTMLに直接挿入されます。

    ajaxは、メーリングリストにサインアップしてケーキを提供します。ページがリロードされるのを待つことはありません。これにより、訪問者の閲覧体験が中断され、JavaScript Disabledで閲覧する人を除外する必要はありません。プロトタイプにより、Ajax機能を迅速かつ痛みなく構築するプロセスにより、サイトのファンと密接に連絡を取ることができます。PHPでAJAXを使用してメーリングリストを作成することについて、よくある質問(FAQ)

    PHPでAjaxを使用してメーリングリストを構築するにはどうすればよいですか?AjaxとPHPのデバッグAJAXとPHPのデバッグは、Ajaxが非同期に実行されるため、少し難しい場合があります。ただし、ブラウザの開発者ツールを使用して、AJAXリクエストと応答を検査できます。また、PHPのエラーレポート関数を使用して、PHPスクリプトのエラーをキャッチおよび処理することもできます。

    AjaxとPHPのエラーを処理するにはどうすればよいですか?リクエストが失敗した場合、エラー()メソッドが呼び出されます。 die()関数はメッセージを印刷し、現在のスクリプトを終了します。

    ajaxを使用してフォームをphpスクリプトに送信するにはどうすればよいですか?

    ajaxのpost()メソッドを使用して、フォームをphpスクリプトに送信できます。 POST()メソッドは、サーバーにPOSTリクエストを送信し、PHPスクリプトで処理するフォームデータを送信できます。

    AJAXを使用してPHPを使用してデータベースを更新するにはどうすればよいですか?

    AJAXを使用してPHPスクリプトにデータを送信してデータベースを更新できます。これは、Ajaxのpost()メソッドを使用して行われます。これは、データを更新するデータを使用してサーバーにPOSTリクエストを送信します。 AJAXを使用してPHPを使用してデータベースからデータを取得するにはどうすればよいですか?

    Ajaxを使用してPHPスクリプトにリクエストを送信して、データベースからデータを取得できます。 PHPスクリプトは、取得したデータを使用してAJAX要求に応答を送信できます。

    AJAXを使用して、PHPを使用してデータベースからデータを削除するにはどうすればよいですか?

    AJAXを使用して、データベースからデータを削除するPHPスクリプトにリクエストを送信できます。 PHPスクリプトは、AJAXリクエストに応答を送信して、データが削除されていることを確認できます。

以上がAJAXとPHPを使用して、メーリングリストを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。