PHP $_GET與$_POST
$_GET與$_POST
post和get是指:頁面提交的兩種方式
get:參數都體現在url上,可以用於翻頁,簡單查詢,get只能接收2k以下的內容,所以有局限性,另外由於內容是可見的,安全性就下降了,
post:用於頁面表單 提交,上傳文件,這些操作。大小沒有限制,也不會在地址欄上顯示。
$_POST 變量
$_POST 變量是一個數組,內容是由 HTTP POST 方法發送的變量名稱和值。
$_POST 變量用於收集來自 method=”post” 的表單中的值。
從帶有 POST 方法的表單發送的信息,對任何人都是不可見的(不會顯示在瀏覽器的地址欄),並且對發送信息的量也沒有限制
為什麽使用 $_POST?
通過 HTTP POST 發送的變量不會顯示在 URL 中。
變量沒有長度限制。
不過,由於變量不顯示在 URL 中,所以無法把頁面加入書簽。
$_GET 變量
$_GET 變量用於收集來自 method=”get” 的表單中的值,直觀的的就是瀏覽器中可以看到的參數,比如我在百度搜索“wordpress”的時候,我請求的url就是http://www.baidu.com/s?ie=utf-8&bs=wordpress&f=8&rsv_bp=1&wd=wordpress&inputT=0,那麽’?’後面的參數都是可以用 $_GET 獲取,各個參數是以’&’作為分隔符的。
$_GET 變量是一個數組,內容是由 HTTP GET 方法發送的變量名稱和值。
從帶有 GET 方法的表單發送的信息,對任何人都是可見的(會顯示在瀏覽器的地址欄),並且對發送的信息量也有限制(最多 100 個字符),所以參數的長度不是無限的,但是基本都能滿足我們的要求了。
為什麽使用 $_GET?
註釋:在使用 $_GET 變量時,所有的變量名和值都會顯示在 URL 中。所以在發送密碼或其他敏感信息時,不應該使用這個方法。不過,正因為變量顯示在 URL 中,因此可以在收藏夾中收藏該頁面。在某些情況下,這是很有用的。
註釋:HTTP GET 方法不適合大型的變量值;值是不能超過 100 個字符的。
****$_POST和$_GET的區別:
1.前者可以在網址的欄目上是看不到傳送的內容的,而後者呢是是可以在網址的欄目是看到內容的
2.Get 方式需要使用 Request.QueryString 來取得變量的值;而 Post 方式通過 Request.Form 來訪問提交的內容
3.前者傳輸的內容的大小比較大,安全性比較高,執行效率稍微低一些;後者的上傳大小比較小,安全性低,執行的效率會計較高一點
4、 Get 方式提交數據,會帶來安全問題,比如一個登陸頁面,通過 Get 方式提交數據時,用戶名和密碼將出現在 URL 上,如果頁面可以被緩存或者其他人可以訪問客戶這臺機器,就可以從歷史記錄獲得該用戶的帳號和密碼,所以表單提交建議使用 Post 方法;Post 方法提交的表單頁面常見的問題是,該頁面如果刷新的時候,會彈出一個對話框
Request.Form和Request.QueryString兩個接收參數來源不同,前者是接收從表單Form來的參數,後者是從URL來的參數。
Request.Form:獲取以POST方式提交的數據(接收Form提交來的數據);
Request.QueryString:獲取地址欄參數(以GET方式提交的數據)
PHP $_GET與$_POST