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

PHP $_GET與$_POST

images 獲得 nal http get data- 上傳 註釋 form提交 技術

$_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