首頁 > web前端 > js教程 > 使用AJAX和PHP構建您的郵件列表

使用AJAX和PHP構建您的郵件列表

William Shakespeare
發布: 2025-03-08 00:34:14
原創
140 人瀏覽過

Use AJAX and PHP to Build your Mailing List

這種設置的美麗是頁面的結構與其功能完全隔離,這使開發和維護無麻煩。

>
使用Ajax交付地址
JS文件夾內的>

要添加這些事件偵聽器,我們將使用Prototype方便的觀察方法。我們首先為該頁面的加載事件添加了一個偵聽器。在此聽眾內部,我們將一個事件聽眾附加到表格的提交活動:

請注意,我們表格的事件偵聽器在提交表單時會撥打JavaScript函數storeaddress。此StoreadDress函數包含JavaScript,以對我們的PHP腳本進行AJAX調用。這就是外觀:
// 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>
}
登入後複製
登入後複製

這個功能非常簡單。首先,通過顯示“添加電子郵件地址”消息,讓用戶可以進行某些事情。接下來,我們從表格中收集信息,以準備發送AJAX請求。請注意,我們如何使用Prototype的$ F函數訪問文本字段的內容,該函數在提供該表單元素的ID時抓住給定元素的值。我們使用JavaScript逃生函數將用戶輸入轉換為Unicode格式;這樣,它的URL就可以通過GET方法傳遞到PHP腳本。 然後,
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>
}
登入後複製
登入後複製
是此功能最重要的部分:創建新的ajax.updater對象。當我們創建一個ajax.updater對象時,我們將其傳遞到一些參數,包括:>

您要在其中顯示服務器響應的元素的ID

php腳本的URL

  1. 您要發送到服務器端腳本的數據,以及交付方法(即發布或get)
  2. >
  3. > ajax.updater將將電子郵件地址發送到服務器並耐心地等待響應。當它收到響應時,它將顯示我們在方法開始時插入的“添加電子郵件地址”的消息。最後,我們調用event.stop(原型庫提供的另一個函數)以阻止表單實際提交到服務器。
  4. 設置您的郵件列表數據庫
  5. >在我們編寫任何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文件。

    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>
    }
    登入後複製
    登入後複製
    這個非常簡單的PHP腳本稱為稱為storeaddress的函數,並返回到ajax對象,該函數由storeaddress返回的消息。與Ajax對象進行通信與打印字符串一樣簡單。

    StoreadDress所做的第一件事是將一個稱為$消息的變量初始化到非破壞空間。然後,它確保腳本已在查詢字符串中收到電子郵件地址。如果沒有,我們將將$消息變量設置為非破壞空間。 $消息將在此功能的末尾返回給呼叫者。

    >

    >確定我們可以使用電子郵件地址,我們將要確保它是一個有效的地址。我們將使用正則表達式查找一些字母數字字符,然後是 @符號,更多字母數字字符,一個時期和一些字母數字字符。如果此測試失敗,我們將將$消息設置為錯誤消息,並告知用戶輸入的電子郵件地址無效:
    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的人。原型使您可以快速且無痛地構建Ajax功能的過程,從而使您與網站的粉絲保持密切聯繫。

    >常見問題(常見問題解答)關於將AJAX與PHP一起構建郵件列表>

    >我如何將AJAX與PHP一起構建郵件列表?

    ajax(代表異步JavaScript和XML)是一種用於創建交互式Web應用程序的Web開發技術。 PHP是一種專為Web開發設計的服務器端腳本語言。合併後,AJAX和PHP可用於通過將數據從表單發送到服務器端腳本(PHP)而無需刷新頁面來構建郵件列表。這是使用AJAX中的XMLHTTPRequest對象完成的,該對象與服務器進行通信並異步更新頁面內容。

    >

    > ajax中xmlhttprequest對像在AJAX中的作用是什麼?它用於異步從服務器發送和接收數據,這意味著它可以與服務器交換幕後數據,並在不重新加載整個頁面的情況下更新網頁的部分。

    >

    >我如何在PHP中使用PHP中的AJAX響應?迴聲語句用於輸出一個或多個字符串。在Ajax的上下文中,可以使用ECHO語句將響應發送回AJAX請求。

    >

    >我如何將jQuery與Ajax和PHP?

    jQuery一起使用。它使HTML文檔遍歷和操縱,事件處理和動畫之類的東西變得更加簡單,可以易於使用易於使用的API,可在許多瀏覽器中使用。通過多功能性和可擴展性的結合,JQuery改變了數百萬人寫JavaScript的方式。您可以使用jQuery的Ajax方法將異步HTTP請求發送到您的php腳本。

    我如何調試Ajax和php?

    debugguging and ajax and php php可以有點棘手,因為ajax androns andynchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchronchonchronchonchronchonchromenchonConrinCons但是,您可以使用瀏覽器的開發人員工具來檢查AJAX請求和響應。您還可以使用PHP的錯誤報告函數來捕獲和處理PHP腳本中的錯誤。

    如何使用Ajax和die()die()die()ajax和php中的ajax和php中的錯誤處理AJAX和PHP?如果請求失敗,則調用錯誤()方法。 die()函數打印消息並退出當前腳本。

    >我如何使用ajax將表單提交給PHP腳本?

    您可以使用Ajax的post()方法將表單提交給PHP腳本。 post()方法將發布請求發送到服務器,它可以發送以通過php腳本處理的表單數據。

    我如何使用AJAX使用AJAX使用PHP?

    您可以使用AJAX來更新數據庫,您可以使用AJAX將數據發送到PHP腳本,然後可以更新數據庫。這是使用AJAX中的post()方法完成的,該方法將郵政請求發送給服務器,並使用要更新的數據發送。

    >

    >我如何使用AJAX使用PHP?

    從數據庫中檢索數據,您可以使用AJAX將請求發送到PHP腳本以從數據庫中檢索數據。然後,PHP腳本可以使用檢索到的數據將響應發送回AJAX請求。

    >我如何使用ajax使用php?

    >您可以使用ajax將請求發送到php腳本從數據庫中刪除數據庫。然後,PHP腳本可以將響應發送回AJAX請求,以確認數據已刪除。

以上是使用AJAX和PHP構建您的郵件列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板