2011-07-19 63 views
1

我試圖爲一家餐廳構建在線訂購表單。有不同類型的食品需要不同的輸入字段。我使用jQuery在用戶點擊鏈接添加特定產品後添加這些輸入字段。我基本上將這些表單域附加到一個div,以便用戶可以填寫它們。使用jQuery/PHP的HTML表單數組

用戶完成添加項目並單擊提交按鈕後,我想使用PHP將訂單發送到電子郵件地址。我知道如何用PHP發送電子郵件,但我不確定如何將所有表單數據都存入電子郵件。

我不知道用戶添加了多少個字段,直到他們點擊提交按鈕。我的問題是,一旦用戶點擊提交,我可以做些什麼來獲取所有表單字段並將其吐出到電子郵件的正文字符串中?我可以使用數組來存儲所有表單數據,並通過PHP中的數組並獲取所有數據嗎?

謝謝你的時間!

回答

1

所有這一切都提交將成爲$_POST陣列中......環通過,並得到你所需要的表單數據的...

對於實例(假設你知道你所得到的字段的名稱數據來自):

foreach($_POST as $field => $value){ 
    //$field will contain the name of the field 
    //$value will have the value the user entered 
    //You can add a switch statement to do something specific with the fields 
    switch($field){ 
     case 'burger': 
      //do burger stuff 
      break; 
     case 'salad': 
      //do salad stuff 
      break; 
     default: 
      //I don't know what food this is ... 
    } 
} 
+0

你能否提供一個示例代碼來說明我該怎麼做?對此,我真的非常感激。謝謝。 – Zach

0

你可以簡單地檢查$_REQUEST['NAME_OF_USER_INPUT']$_POST['NAME_OF_USER_INPUT']提交數據,並根據這一領域構建你的電子郵件文本。

+0

如果我知道哪些字段會在那裏,我會使用它。我只知道電子郵件中需要的幾個必填字段。但是,如果他們添加了沙拉而不是漢堡,那麼我不應該用漢堡尋找名字。 – Zach

0

如果您爲所有輸入提供相同的名稱並使用常規提交,則該名稱的值將是添加事件的逗號分隔列表。如果這就是你想要的,那很容易做到。