ホームページ >ウェブフロントエンド >jsチュートリアル >AJAXとPHPを使用して、メーリングリストを作成します
フォームのイベントリスナーは、フォームの送信時に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
サーバー側のスクリプトに送信するデータと、配信方法(つまり、投稿または取得)
// 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スクリプトは、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)
AJAXを使用して、PHPを使用してデータベースからデータを削除するにはどうすればよいですか?
以上がAJAXとPHPを使用して、メーリングリストを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。