用php做一個簡單的表單
來源:互聯網
上載者:User
PHP最有用的特性之一是它能夠自動將表單中的變數值賦予PHP變數。這使得表單處理變得非常快捷。
因此,如果你送出一個內含輸入欄位值的表單如下:
<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">
當你用PHP處理此頁面,$name變數的值就會是 Glen Morris。
因此,你可以用如下的方式把值列印出來:
echo "Hi $name!";
或者像這樣測試其值:
if ($name == "Glen Morris") { echo "Please check your email."; }
這有一個用PHP處理基本表單的很好方法。例如,我們需要做一個簡單的問卷調查,要求填寫者必須填寫他們的姓名,電子郵件地址,並回答一些我們感興趣的問題。
首先,我們會將頁面拆成兩個函數。因此,我們只需要寫一個 PHP頁面並用程式邏輯去控制對使用者的顯示內容就可以了,而不是寫兩個單獨的網頁(一個針對錶單部分,另外一個針對處理表單的CGI指令碼)。
顯示表單
第一個函數用來顯示表單:
<?php
functiondisplay_form() {
global $PHP_SELF;
?>
<FORM TARGET="<?php echo $PHP_SELF; ?>" METHOD=GET>
Name: <INPUT TYPE=TEXT NAME="name"><BR>
Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie
<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar
<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella
Favorite Times to Eat Cheese:
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="m">Morning
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="n">Noon
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="d">Dinner
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="l">Late night
<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">
<INPUT TYPE=SUBMIT VALUE="Thanks!">
</FORM>
<?php
}
?>
PHP最有用的特性之一是它能夠自動將表單中的變數值賦予PHP變數。這使得表單處理變得非常快捷。
因此,如果你送出一個內含輸入欄位值的表單如下:
<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">
當你用PHP處理此頁面,$name變數的值就會是 Glen Morris。
因此,你可以用如下的方式把值列印出來:
echo "Hi $name!";
或者像這樣測試其值:
if ($name == "Glen Morris") { echo "Please check your email."; }
這有一個用PHP處理基本表單的很好方法。例如,我們需要做一個簡單的問卷調查,要求填寫者必須填寫他們的姓名,電子郵件地址,並回答一些我們感興趣的問題。
首先,我們會將頁面拆成兩個函數。因此,我們只需要寫一個 PHP頁面並用程式邏輯去控制對使用者的顯示內容就可以了,而不是寫兩個單獨的網頁(一個針對錶單部分,另外一個針對處理表單的CGI指令碼)。
顯示表單
第一個函數用來顯示表單:
<?php
functiondisplay_form() {
global $PHP_SELF;
?>
<FORM TARGET="<?php echo $PHP_SELF; ?>" METHOD=GET>
Name: <INPUT TYPE=TEXT NAME="name"><BR>
Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie
<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar
<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella
Favorite Times to Eat Cheese:
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="m">Morning
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="n">Noon
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="d">Dinner
<INPUT TYPE=CHECKBOX NAME="times[]" VALUE="l">Late night
<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">
<INPUT TYPE=SUBMIT VALUE="Thanks!">
</FORM>
<?php
}
?>
首先,如同我們處理$PHP_SELF一樣,我們擷取表單裡面的全域變數。然後檢查cheese選項中哪一個被選中以按選擇建立回應。
下面,我們使用count()函數,以計算被選為喜好時段的時段數。在過去,必須通過檢查$cheese每一個可能的值來實現,而現在我們只要利用大於、小於來比較$favorite_times的大小就可以了。如果你希望知道“$favorite_times > 1 && $favorite_times < 4”中“&&”的含義,它表示“and”。因此,$favorite_times必須大於一而且小於四,此條件才能成立。
在代碼最後,我們輸出使用者名稱以及我們提供給他的資訊。當然,你也可以實現各種各樣有趣的變化,例如,將資訊存在資料庫中,或通過查詢資料庫中資訊並以適當格式返回結果。
組合表單
現在我們已得到此二函數,接著只需要再放入一小段代碼,就可以把二者串連一起,並建立代碼所需的邏輯關係。在display_form() 以及process_form() 下加入以下代碼:
<?php
if (empty($stage)) { display_form(); }
else { process_form(); }
?>
首先,我們檢查變數$stage是否為空白。在 PHP中,一個變數如果未曾初始化(即未曾賦值)或其值為零(也就是被賦值為零,即空白字串或者是零值),則該變數被視為空白值。當使用者首次訪問網頁時,$stage變數值為空白。因此我們希望顯示表單;否則我們將處理表單內容。
以上即如何使用PHP處理表單的過程。