HTML 表單中 post 與 get 兩種 method 的差別

HTML 表單中 post 與 get 兩種 method 的差別在外觀上就是有沒有透過網址(URL)傳值,如果是用 post 的方式傳遞表單資料,網址不會有什麼改變,可是如果採用 get 的方式傳遞表單資料,網址就會看到表單的資料,這兩種表單傳值方式並沒有絕對的好與壞,端看不同的使用時機而定,無論是採用 post 還是採用 get 方法,都要用到對應的 PHP 接收表單資料函數才正確,以下表格整理的是 HTML 資料傳遞方法與 PHP 對應函數。

表單傳值的 HTML 與 PHP 對應語法
HTML 表單端PHP 接收端參考介紹
method="post"$_POSTPHP $_POST 接收表單資料
method="get"$_GETPHP $_GET 接收表單資料
採用 post 方法的傳值網址樣貌
http://www.example.com/url.php
送出表單後,網址不會有什麼改變。

採用 get 方法的傳值網址樣貌
http://www.example.com/url.php?name=xxx&pone=09...
送出表單後,網址可以看到表單欄位與資料。

後記

各位讀者朋友們可以看到 post 方法不會把表單資料透過 URL 傳遞,可是 get 方法會,所以是不是 get 方法比較危險呢?嚴格來說 get 方法所傳遞的表單資料的確是比較容易被竊取,例如在公共區域網路又沒有使用 https 加密的網頁,透過 get 傳遞資料時的網址是可以被"中間人"記錄,但是被記錄會怎麼樣又有誰知道呢?普通不重要的資料採用 get 方法傳遞是沒什麼關係,如果是重要資料,例如設計用來讓會員登入頁面,通常會包含會員的帳號密碼填寫欄位,就千萬不要用 get 方式來設計登入頁面唷!

如果想進一步研究網頁表單設計的規則,請參閱:HTML Form 表單設計

參考資訊
分享於 2015-01-14