1. 程式人生 > >php學習筆記:第八節--表單和使用者輸入,$_GET,$_POST

php學習筆記:第八節--表單和使用者輸入,$_GET,$_POST

PHP 的 $_GET 和 $_POST 用於檢索表單中的值,比如使用者輸入。

PHP 表單處理

表單例項:

上面的 HTML 頁面例項包含了兩個輸入框和一個提交按鈕。當用戶填寫該表單並單擊提交按鈕時,表單的資料會被送往 "welcome.php" 這個檔案。

"welcome.php" 檔案類似這樣:

表單驗證

應該在任何可能的時候對使用者輸入進行驗證。客戶端的驗證速度更快,並且可以減輕伺服器的負載。

不過,任何流量很高以至於不得不擔心伺服器資源的站點,也有必要擔心站點的安全性。如果表單訪問的是資料庫,就非常有必要採用伺服器端的驗證。

在伺服器驗證表單的一種好的方式是,把表單傳給它自己,而不是跳轉到不同的頁面。這樣使用者就可以在同一張表單頁面得到錯誤資訊。使用者也就更容易發現錯誤了。

$_GET

$_GET 變數用於收集來自 method="get" 的表單中的值。

$_GET 變數

$_GET 變數是一個陣列,內容是由 HTTP GET 方法傳送的變數名稱和值。

$_GET 變數用於收集來自 method="get" 的表單中的值。從帶有 GET 方法的表單傳送的資訊,對任何人都是可見的(會顯示在瀏覽器的位址列),並且對傳送的資訊量也有限制(最多 100 個字元)。

當用戶點選提交按鈕時,傳送的 URL 會類似這樣:

"welcome.php" 檔案現在可以通過 $_GET 變數來獲取表單資料了(請注意,表單域的名稱會自動成為 $_GET 陣列中的 ID 鍵):

註釋:HTTP GET 方法不適合大型的變數值;值是不能超過 100 個字元的。

 

 

$_POST

$_POST 變數

$_POST 變數是一個數組,內容是由 HTTP POST 方法傳送的變數名稱和值。

$_POST 變數用於收集來自 method="post" 的表單中的值。從帶有 POST 方法的表單傳送的資訊,對任何人都是不可見的(不會顯示在瀏覽器的位址列),並且對傳送資訊的量也沒有限制。

例子

"welcome.php" 檔案現在可以通過 $_POST 變數來獲取表單資料了(請注意,表單域的名稱會自動成為 $_POST 陣列中的 ID 鍵):

$_REQUEST 變數

PHP 的 $_REQUEST 變數包含了 $_GET, $_POST 以及 $_COOKIE 的內容。

PHP 的 $_REQUEST 變數可用來取得通過 GET 和 POST 方法傳送的表單資料的結果。

例子

 

注:$_REQUEST的功能過於強大,建議在接收表單資料的時候,儘量使用$_GET,$_POST,以避免不必要的衝突,

如果表單域中存在與cookie中相同名稱的鍵,則優先取到的的cookie中的資料,可能造成不必要的錯誤。