PHP 表單和使用者輸入
PHP?表單和使用者輸入
?
在介紹表單之前我們先來(lái)了解表單的基本知識(shí)點(diǎn):
?
#1.表單標(biāo)籤<form>
<form> 標(biāo)籤用於為使用者輸入建立HTML 表單。
?
表單能夠包含 input 元素,例如文字欄位、核取方塊、單一選取方塊、提交按鈕等等。
?
表單也可以包含 menus、textarea、fieldset、legend 和 label 元素。
?
表單用於傳輸資料到伺服器。
?
<form>標(biāo)籤
必要屬性:
Action,規(guī)定當(dāng)表單提交時(shí),要傳送表單資料到何處。
?
可選屬性:
#Method,規(guī)定如何傳送表單資料。
Name,規(guī)定表單的名稱(chēng)。
Enctype,規(guī)定資料在傳送到伺服器之前如何編碼。
?
2、文字框,使用者的輸入
?
定義:<input type=”text” name=”wenbenkuang” >
?
伺服器使用:$_POST['wenbenkuang'];
?
注意事項(xiàng):文字方塊是最常見(jiàn)的表單元素,是一個(gè)名稱(chēng)對(duì)應(yīng)一個(gè)值的形式。
?
3、密碼框, 提供使用者輸入密碼的區(qū)域。
?
定義:<input type=”password” name=”mimakuang”>
伺服器使用:$_POST['mimakuang'];
注意事項(xiàng):密碼框是把文字方塊中的明文使用密文來(lái)表示,增加資料安全性,但不能檢查輸入是否正確,所以一班會(huì)提供兩個(gè)密碼框,來(lái)驗(yàn)證使用者輸入的密碼的一致。
?
4、隱藏網(wǎng)域, 提供不可見(jiàn)的表單元素。
?
定義:<input type=”hidden” name=”yincangyu” value=”123”>
伺服器使用:$_POST['yincangyu'] ;
注意事項(xiàng):隱藏網(wǎng)域是在頁(yè)面上看不到的表單元素,我們通常會(huì)使用此種方式傳遞id類(lèi)別的值。
?
5、複選框,提供選取多個(gè)的動(dòng)作。
?
定義:<input type=”checkbox” name=”fuxuankuang[]” value=”1” checked=”checked”>
<input type=”checkbox” name=”fuxuankuang[]” value=”2”>
伺服器使用:$_POST['fuxuankuang'];值是一個(gè)陣列。
?
注意事項(xiàng):我們透過(guò)把name屬性設(shè)為同一個(gè)陣列的方式放置一組複選框的。其中的checked屬性規(guī)定複選框的初始狀態(tài)是否被選取。
?
6、單選框,提供在多者選其一的動(dòng)作。
?
定義:<input type=”radio” name=”danxuankuang”value=”1” checked=”checked”>
<input type= ”radio” name=”danxuankuang” value=”2”>
#伺服器使用:$_POST['danxuankuang'];值是一個(gè)數(shù),不是數(shù)組。
注意事項(xiàng):我們透過(guò)把name屬性設(shè)為相同的方式放置一組單選框的。其中的checked屬性規(guī)定單選框的初始狀態(tài)是否被選取。
?
7、文字域,提供一個(gè)大量文字輸入?yún)^(qū)域。
?
定義:<textarea name=”wenbenyu”>1234</textarea>
伺服器使用:$_POST['wenbenyu”];
?
注意事項(xiàng):文字域是一個(gè)雙標(biāo)籤,我們可以透過(guò)cols和rows屬性文字域的可見(jiàn)列和行數(shù)。需要使用到文字領(lǐng)域。 ;select name=”liebiao”>
<option value="1">選項(xiàng)1</option>
<option value="2">選項(xiàng)2< /option>
<option value="3" selected="selected" >選項(xiàng)3</option>
<option value="4">選項(xiàng)4</ option>
</select>
?
伺服器使用:$_POST[“l(fā)iebiao”];你選取哪一個(gè),他的值就為哪個(gè)option的value屬性的值。每個(gè)選項(xiàng)值的value屬性要寫(xiě)到option標(biāo)籤上。 #也可以透過(guò)size屬性控制顯示的條目數(shù)。 ” name=”wenianyu”>
伺服器使用:$_FILES['wenjianyu'];得到的是一個(gè)含有五個(gè)元素的數(shù)組,包含上傳檔案的一些基本資訊。
注意事項(xiàng):若想使用表單上傳文件,則一定要在form標(biāo)籤中要加入如下屬性<form enctype=“multiplart/form-data”,之後我們透過(guò)$_FILES這個(gè)全域數(shù)組變數(shù)取得上傳文件的資訊。
?
10、重置, 重置按鈕用來(lái)恢復(fù)表單的初始狀態(tài)
?
定義:<input type=”reset”value =”重置”>
?
注意事項(xiàng):重置按鈕是恢復(fù)表單的初始值,非常常用的功能。其中的value屬性是規(guī)定按鈕上的文字。
?
11、提交, 提交表單按鈕。
?
定義:<input type=”submit” name=”submit”value=”提交”>
?
#注意事項(xiàng):當(dāng)點(diǎn)擊此按鈕時(shí),表單被提交到指定頁(yè)面。此按鈕可以有name屬性值,一般我們?cè)谒欧鞫颂峁┡袛?_POST[‘submit’]的值來(lái)判斷目前請(qǐng)求是否來(lái)自表單提交。
?
以上內(nèi)容介紹了表單所包含的內(nèi)容,作用及注意事項(xiàng),以下我們就來(lái)詳細(xì)學(xué)習(xí)關(guān)於表單的具體內(nèi)容。
PHP 中的 $_GET 和 $_POST 變數(shù)用於檢索表單中的信息,例如使用者輸入。
PHP 表單處理
有一點(diǎn)很重要的事情值得注意,當(dāng)處理HTML 表單時(shí),PHP 能把來(lái)自HTML 頁(yè)面中的表單元素自動(dòng)變成可供PHP 腳本使用。
實(shí)例
下面的實(shí)例包含了一個(gè) HTML 表單,有兩個(gè)輸入框和一個(gè)提交按鈕。
form.html?文件代碼如下:
<html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <form action="welcome.php" method="post"> 名字: <input type="text" name="fname"> 年齡: <input type="text" name="age"> <input type="submit" value="提交"> </form> </body> </html>
當(dāng)使用者填寫(xiě)完上面的表單並點(diǎn)擊提交按鈕時(shí),表單的資料會(huì)被送到名為"welcome.php" 的PHP 文件:
welcome.php 檔案如下所示:
歡迎 <?php echo $_POST["fname"]; ?>!<br> 你的年齡是 <?php echo $_POST["age"]; ?> 歲。
透過(guò)瀏覽器存取示範(fàn)如下: