用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處理表單的過程。







相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。