在同一窗體中使用PHP來處理多個提交任務_PHP教程

WBOY
發布: 2016-07-21 16:09:54
原創
753 人瀏覽過

在PHP中的處理窗體資料比其它網頁程式語言更簡單-如果你使用這種語言一段時間後,你會發現這是一個不可爭辯的事實。這種操作的簡易性使它可以輕鬆處理更為複雜的窗體事件,包括今天討論的主題,即在同一個窗體中通過多個按鈕來處理不同的任務。

為什麼要使用多個提交任務?

在我回答這個問題之前,先讓我回答一個很顯然的問題:既然許多窗體更適合單一的提交按鈕,為什麼有時人們需要的是兩個(或者是更多)的提交按鈕?

對這一問題最好的解釋方法是用我最近開發專案中的一個實例來說明。在這項專案中,我的任務是為一個圖書館建立一個詳細目錄查詢系統。書籍題目被儲存在資料庫中,而管理員將可以使用一個基於瀏覽器功能的介面來查看其中任何一本書的記錄,然後對這一記錄上選擇執行四種操作之一:成員還書登記,會員借書登記,書本遺失記錄及書籍銷售記錄。

以上所有任務都要透過一個獨立窗體來處理,這樣就需要對應的按鈕來回應這些任務。傳入到窗體的資料將以不同的方式處理,這取決於被點擊的按鈕(借書/還書和成員記錄相互關聯;遺失/銷售記錄改變詳細目錄表)。由於一個窗體只能處理一個唯一的任務,但相同的PHP腳本可以根據被點擊的按鈕和執行適當的程式碼片段來處理以上四種任務。因此就需要處理多個提交任務按鈕的單一窗體,以及實現不同按鈕的自動回應的窗體處理程式碼片段。

我先列舉一個簡單例子:一個提交按扭的窗體。這樣能夠讓你清楚地理解基本概念,並且為將要講述的複雜範例打下鋪墊。這裡有一個窗體:

Single-button form

Enter a number:


以下的是呼叫提交任務的processor.php腳本:

// check for submission
// retrieve value from posted data
if ($_POST['submit'])
{
    echo "You entered the number " . $_POST['number' }

?>

當一個窗體被提交給PHP腳本時,根據使用的提交方法(本文我假設為POST),PHP自動建立一個特定的$_POST或$_GET數組。鍵入到窗體輸入域內的數值會自動轉換成數組中的關鍵數據,並可以使用常規數據符號來存取這些數據。 

特別值得注意的是,如何在上述腳本中處理提交任務的按扭。當表單提交時,提交按鈕根據自己實際的「name」轉變成$_POST中的一個元素。增加以下一行程式碼就很清楚了:

print_r($_POST);

為了了解以上PHP腳本,你可以查看數組的內部結構,並且可以清楚地看到不同窗體控件之間的相互聯繫。

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314447.htmlTechArticle在PHP中的處理窗體資料比其它網頁程式語言更簡單-如果你使用這種語言一段時間後,你會發現這是一個不可爭辯的事實。這種操作的簡...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板