PHP 表單處理
PHP 超全域變數 $_GET 和 $_POST 用於收集表單資料(form-data)。 $_GET 是通過 URL 參數傳遞到當前指令碼的變數數組。 $_POST 是通過 HTTP POST 傳遞到當前指令碼的變數數組。
有一點很重要的事情值得注意,當處理 HTML 表單時,PHP 能把來自 HTML 頁面中的表單元素自動變成可供 PHP 指令碼使用。 $_GET 變數
預定義的 $_GET 變數用於收集來自 method="get" 的表單中的值。
從帶有 GET 方法的表單發送的資訊,對任何人都是可見的(會顯示在瀏覽器的地址欄),並且對發送資訊的量也有限制。 例:form.html 檔案代碼
<html><head><meta charset="utf-8"><title>菜鳥教程(runoob.com)</title></head><body><form action="welcome.php" method="get">名字: <input type="text" name="fname">年齡: <input type="text" name="age"><input type="submit" value="提交"></form></body></html>
當使用者點擊 "Submit" 按鈕時,發送到伺服器的 URL 如下所示: http://www.runoob.com/welcome.php?fname=Runoob&age=3
"welcome.php" 檔案現在可以通過 $_GET 變數來收集表單資料了(請注意,表單域的名稱會自動成為 $_GET 數組中的鍵):
歡迎 <?php echo $_GET["fname"]; ?>!<br>你的年齡是 <?php echo $_GET["age"]; ?> 歲。
何時使用 method="get"。
在 HTML 表單中使用 method="get" 時,所有的變數名和值都會顯示在 URL 中。
注釋:所以在發送密碼或其他敏感資訊時,不應該使用這個方法。不安全
然而,正因為變數顯示在 URL 中,因此可以在收藏夾中收藏該頁面。在某些情況下,這是很有用的。
注釋:HTTP GET 方法不適合大型的變數值。它的值是不能超過 2000 個字元的。 $_POST 變數
預定義的 $_POST 變數用於收集來自 method="post" 的表單中的值。
從帶有 POST 方法的表單發送的資訊,對任何人都是不可見的(不會顯示在瀏覽器的地址欄),並且對發送資訊的量也沒有限制。
注釋:然而,預設情況下,POST 方法的發送資訊的量最大值為 8 MB(可通過設定 php.ini 檔案中的 post_max_size 變更)。 例:form.html 檔案代碼
<html><head><meta charset="utf-8"><title>菜鳥教程(runoob.com)</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