在web開發中,如果想要取得使用者提交的信息,往往需要使用到表單。利用一個form表單給用戶展示需要填寫的信息,然後用戶輸入信息後提交表單;表單提交數據後就需要獲取到數據進行處理。那麼要怎麼快速取得表單資料呢?其實PHP內建了3個預定義變數(又叫超全域變數)來獲取,本篇文件就來給大家具體介紹一下。
首先我們來了解表單的工作流程:
首先表單必須展示給用戶,用戶輸入資訊後提交表單。
每個表單都會指定一個網頁,使用者提交表單後,這個網頁會被載入並負責處理表單資訊。
例如下面user.html檔案中的form標籤內容,就是一個最簡單的表單
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>表单提交</title> </head> <body> <form action="user.php" method=""> 用户名: <input type="text" name="user"> <br><br> 密 码: <input type="password" name="pwd"> <br><br> 生 日: <input type="date" name="bday"><br><br> <input type="submit" value="提交数据"> </form> </body> </html>
form標籤的methods
屬性是用來規定如何傳送表單數據,是使用get方式(method="get"
)還是post方式(method="post"
)。然後表單資料會傳送到 action
屬性所規定的頁面,我們這就是user.php頁面中進行處理。
而根據提交表單資料的方式不同,取得表單資料的方法也有所不同:get方式可以使用預先定義變數$_GET
來取得;post方式可以使用預先定義變數$_POST
來取得;如果不知道form 表單透過哪種方式提交數據,就可以使用預先定義變數$_REQUEST
來獲取,它兩種方式的資料都可以取得。
下面就來一一了解:
1、使用預定義變數$_GET快速取得表單資料(form表單需要設定為method="get "
)
在程式的開發過程中,由於GET 方法提交的資料是附加到URL 上發送的,因此在URL 的網址列中將會顯示「URL 使用者傳遞的參數」類型的訊息,如下所示:
http://url?name1=value1&name2=value2 ...
name1、name2 為表單元素的名稱(有表單元素的name屬性設定),value1、value2 為表單元素的值。 url和表單元素之間以「?
」隔開,而多個表單元素之間以「&
」隔開,每個表單元素的格式都是「name= value”,固定不變。
我們加入user.html檔案的表單看看URL 的網址列
user.php檔案中可以直接使用預定義變數$_GET來
取得數據,$_GET 全域變數是一個關聯數組,數組的鍵名為表單元素name 的值,數組的值為對應表單的值。 (註只要是URL 中的參數都可以使用$_GET 取得。)
<?php var_dump($_GET); ?>
可以使用$_GET['鍵名']的方式來一一取得每個表單元素的值:
<?php header("content-type:text/html;charset=utf-8"); echo "用户名为:".$_GET[&#39;user&#39;]."<br>生日为:".$_GET[&#39;bday&#39;]; ?>
2、使用預定義變數$_POST快速取得表單資料(form表單需要設定為method="post"
)
post方法不依賴URL,不會將傳遞的參數值顯示在網址列中。
$_POST
全域變數也是一個關聯數組,數組的鍵名為表單元素 name 的值,數組的值為對應表單的值。
<?php header("content-type:text/html;charset=utf-8"); echo "用户名为:".$_POST[&#39;user&#39;]."<br>生日为:".$_POST[&#39;bday&#39;]; ?>
3、使用預定義變數$_REQUEST快速取得表單資料
$_REQUEST 全域變數是一個包含了 $_POST 、$_GET 和$_COOKIE 的數組,數組結構與$_POST 和$_GET 類似。
<?php header("content-type:text/html;charset=utf-8"); var_dump($_REQUEST); echo "用户名为:".$_REQUEST[&#39;user&#39;]."<br>生日为:".$_REQUEST[&#39;bday&#39;]; ?>
最後推薦給大家最新、最全面的《PHP影片教學》~快來學習吧!
以上是PHP利用3個預定義變數來快速取得表單數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!