為什么使用多個(gè)提交任務(wù)?
在我回答這個(gè)問題之前,先讓我回答一個(gè)很顯然的問題:既然許多窗體更適合單一的提交按鈕,為什么有時(shí)人們需要的是兩個(gè)(或者是更多)的提交按鈕?
對這一問題最好的解釋方法是用我最近開發(fā)項(xiàng)目中的一個(gè)實(shí)例來說明。在這一項(xiàng)目中,我的任務(wù)是給一個(gè)圖書館建立一個(gè)詳細(xì)目錄查詢系統(tǒng)。書籍題目被儲存在數(shù)據(jù)庫中,而管理員將可以使用一個(gè)基于瀏覽器功能的界面來查看其中任何一本書的記錄,然后對這一記錄上選擇執(zhí)行四種操作之一:成員還書登記,成員借書登記,書本丟失記錄以及書本銷售記錄。
以上所有任務(wù)都要通過一個(gè)獨(dú)立窗體來處理,這樣就需要相應(yīng)的按鈕來響應(yīng)這些任務(wù)。傳入到窗體的數(shù)據(jù)將以不同的方式處理,這取決于被點(diǎn)擊的按鈕(借書/還書和成員記錄相互關(guān)聯(lián);丟失/銷售記錄改變詳細(xì)目錄表)。由于一個(gè)窗體只能處理一個(gè)唯一的任務(wù),但是相同的PHP腳本可以根據(jù)被點(diǎn)擊的按鈕和執(zhí)行合適的代碼段來處理以上四種任務(wù)。因此就需要處理多個(gè)提交任務(wù)按鈕的單一窗體,以及實(shí)現(xiàn)不同按鈕的自動響應(yīng)的窗體處理代碼段。
我首先列舉一個(gè)簡單例子:一個(gè)提交按扭的窗體。這樣能夠讓你清楚地理解基本概念,并且為將要講述的復(fù)雜范例打下鋪墊。這里是一個(gè)窗體:
以下為引用的內(nèi)容:
<html><head>Single-button form</head>
<body>
<form action="processor.php" method="post"> Enter a number: <input type="text" name="number" size="3"> <br>
<input type="submit" name="submit"> </form>
</body>
</html>
以下的是調(diào)用提交任務(wù)的processor.php腳本:
以下為引用的內(nèi)容:
<?php
// check for submission
// retrieve value from posted data
if ($_POST['submit'])
{
echo "You entered the number " . $_POST['number']; }
?>
當(dāng)一個(gè)窗體被提交給PHP腳本時(shí),根據(jù)使用的提交方法(本文我假設(shè)為POST),PHP自動建立一個(gè)特定的$_POST或者$_GET數(shù)組。鍵入到窗體輸入域內(nèi)的數(shù)值會自動轉(zhuǎn)化成數(shù)組中的關(guān)鍵數(shù)據(jù),并可以使用常規(guī)數(shù)據(jù)符號來訪問這些數(shù)據(jù)。
特別值得注意的是,如何在以上腳本中處理提交任務(wù)的按扭。當(dāng)窗體被提交時(shí),提交按鈕根據(jù)自己實(shí)際的“name”轉(zhuǎn)變成$_POST中的一個(gè)元素。添加以下一行代碼就很清楚了:
print_r($_POST);
為了了解以上PHP腳本,你可以查看數(shù)組的內(nèi)部結(jié)構(gòu),并可以清楚地看到不同窗體控件之間的相互聯(lián)系。
在同一窗體中使用PHP來處理多個(gè)提交任務(wù)
2019-10-29 15:42php教程網(wǎng) PHP教程
在PHP中的處理窗體數(shù)據(jù)比其它網(wǎng)頁程序語言更簡單——如果你使用這種語言一段時(shí)間后,你會發(fā)現(xiàn)這是一個(gè)不可爭辯的事實(shí)。這種操作的簡易性使它可以容易地處理更為復(fù)雜的窗體事件,包括今天討論的主題,即在同一個(gè)窗體中通
延伸 · 閱讀
- 2022-03-10簡單談?wù)刢entos7中配置php
- 2022-03-06Ubuntu14.04服務(wù)器環(huán)境下配置PHP7.0+Apache2+Mysql5.7的方
- 2022-03-06c#禁止通過拖動,雙擊標(biāo)題欄改變窗體大小的方法
- 2022-03-05centos yum php 7.x 無需刪除升級的方法
- 2022-03-05Centos7下PHP安裝gd庫的實(shí)例講解
- 2022-03-05WPF實(shí)現(xiàn)窗體中的懸浮按鈕
- PHP教程
php學(xué)習(xí)筆記 數(shù)組的常用函數(shù)
只要一個(gè)變量,需要在多個(gè)方法使用,就將這個(gè)變量聲明為成員屬性,可以直接在這個(gè)對象中的所有方法中使用 成員屬性,相當(dāng)于這個(gè)對象中的全局變量...
- PHP教程
php全角字符轉(zhuǎn)換為半角函數(shù)
這篇文章主要介紹了PHP全角半角轉(zhuǎn)換函數(shù),把目前能找到的所有全角都列出來了一個(gè)個(gè)替換吧,需要的朋友可以參考下 ...
- PHP教程
PHP變量的定義、可變變量、變量引用、銷毀方法
這篇文章主要介紹了PHP變量的定義、可變變量、變量引用、銷毀方法,需要的朋友可以參考下 ...
- PHP教程
PHP常量DIRECTORY_SEPARATOR原理及用法解析
這篇文章主要介紹了PHP常量DIRECTORY_SEPARATOR原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友...
- PHP教程
php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹
php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹,學(xué)習(xí)php的朋友可以參考下。 ...
- PHP教程
php htmlentities()函數(shù)的定義和用法
下面小編就為大家?guī)硪黄猵hp htmlentities()函數(shù)的定義和用法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧...
- PHP教程
PHP中讀取文件的8種方法和代碼實(shí)例
這篇文章主要介紹了PHP中讀取文件的8種方法和代碼實(shí)例,本文總結(jié)了PHP中讀取文件的8個(gè)函數(shù),每一個(gè)都附有使用例子及注意事項(xiàng)等,需要的朋友可以參考下...
- PHP教程
php實(shí)現(xiàn)的支持imagemagick及gd庫兩種處理的縮略圖生成類
這篇文章主要介紹了php實(shí)現(xiàn)的支持imagemagick及gd庫兩種處理的縮略圖生成類,包含了用法的詳細(xì)描述,非常實(shí)用,需要的朋友可以參考下...