国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:29日期:2024-01-28 18:40:30

在PHP中的處理窗體數(shù)據(jù)比其它網(wǎng)頁程序語言更簡單——如果你使用這種語言一段時間后,你會發(fā)現(xiàn)這是一個不可爭辯的事實。這種操作的簡易性使它可以容易地處理更為復雜的窗體事件,包括今天討論的主題,即在同一個窗體中通過多個按鈕來處理不同的任務。

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

對這一問題最好的解釋方法是用我最近開發(fā)項目中的一個實例來說明。在這一項目中,我的任務是給一個圖書館建立一個詳細目錄查詢系統(tǒng)。書籍題目被儲存在數(shù)據(jù)庫中,而管理員將可以使用一個基于瀏覽器功能的界面來查看其中任何一本書的記錄,然后對這一記錄上選擇執(zhí)行四種操作之一:成員還書登記,成員借書登記,書本丟失記錄以及書本銷售記錄。

以上所有任務都要通過一個獨立窗體來處理,這樣就需要相應的按鈕來響應這些任務。傳入到窗體的數(shù)據(jù)將以不同的方式處理,這取決于被點擊的按鈕(借書/還書和成員記錄相互關聯(lián);丟失/銷售記錄改變詳細目錄表)。由于一個窗體只能處理一個唯一的任務,但是相同的PHP腳本可以根據(jù)被點擊的按鈕和執(zhí)行合適的代碼段來處理以上四種任務。因此就需要處理多個提交任務按鈕的單一窗體,以及實現(xiàn)不同按鈕的自動響應的窗體處理代碼段。

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

<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)用提交任務的processor.php腳本:

<?php

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

?>

當一個窗體被提交給PHP腳本時,根據(jù)使用的提交方法(本文我假設為POST),PHP自動建立一個特定的$_POST或者$_GET數(shù)組。鍵入到窗體輸入域內(nèi)的數(shù)值會自動轉(zhuǎn)化成數(shù)組中的關鍵數(shù)據(jù),并可以使用常規(guī)數(shù)據(jù)符號來訪問這些數(shù)據(jù)。;

特別值得注意的是,如何在以上腳本中處理提交任務的按扭。當窗體被提交時,提交按鈕根據(jù)自己實際的“name”轉(zhuǎn)變成$_POST中的一個元素。添加以下一行代碼就很清楚了:

print_r($_POST);

為了了解以上PHP腳本,你可以查看數(shù)組的內(nèi)部結(jié)構,并可以清楚地看到不同窗體控件之間的相互聯(lián)系。

標簽: PHP
主站蜘蛛池模板: 柳州市| 牙克石市| 定远县| 白沙| 正宁县| 岳西县| 晋城| 东安县| 静海县| 永修县| 扶绥县| 商南县| 得荣县| 托里县| 靖江市| 长兴县| 深泽县| 石家庄市| 南开区| 金川县| 晋江市| 黎城县| 万安县| 景洪市| 金山区| 潼关县| 襄垣县| 达拉特旗| 关岭| 苏尼特右旗| 乌兰浩特市| 无锡市| 洛阳市| 泉州市| 阳高县| 绵竹市| 高平市| 雷州市| 颍上县| 会东县| 成都市|