1. 程式人生 > >PHP $_GET與$_POST 變量

PHP $_GET與$_POST 變量

會計 緩存 機器 帳號 歷史記錄 query 頁面 訪問 一個

預定義的 $_GET 變量用於收集來自 method="get" 的表單中的值。
從帶有 GET 方法的表單發送的信息,對任何人都是可見的(會顯示在瀏覽器的地址欄),並且對發送信息的量也有限制。參數的長度不是無限的。
在使用 $_GET 變量時,所有的變量名和值都會顯示在 URL 中。所以在發送密碼或其他敏感信息時,不應該使用這個方法。不過,正因為變量顯示在 URL 中,因此可以在收藏夾中收藏該頁面。在某些情況下,這是很有用的。
註釋:HTTP GET 方法不適合大型的變量值;值是不能超過 100 個字符的。
<form action="***.php" method="get">
Enter your name: <input type="text" name="fname">
Enter your age: <input type="text" name="age">
<input type="submit" value="提交">
</form>

$_POST 變量
$_POST 變量用於收集來自 method=”post” 的表單中的值。
從帶有 POST 方法的表單發送的信息,對任何人都是不可見的(不會顯示在瀏覽器的地址欄),並且對發送信息的量也沒有限制。通過 HTTP POST 發送的變量不會顯示在 URL 中。
變量沒有長度限制。無法把頁面加入書簽。
<form action="***.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>

Get 方式需要使用 Request.QueryString 來取得變量的值;而 Post 方式通過 Request.Form 來訪問提交的內容。
前者的上傳大小比較小,安全性低,執行的效率會計較高一點,後者傳輸的內容的大小比較大,安全性比較高,執行效率稍微低一些。
Get 方式提交數據,會帶來安全問題,比如一個登陸頁面,通過 Get 方式提交數據時,用戶名和密碼將出現在 URL 上,如果頁面可以被緩存或者其他人可以訪問客戶這臺機器,就可以從歷史記錄獲得該用戶的帳號和密碼,所以表單提交建議使用 Post 方法;Post 方法提交的表單頁面常見的問題是,該頁面如果刷新的時候,會彈出一個對話框

PHP $_GET與$_POST 變量