首頁  >  文章  >  後端開發  >  PHP中$_GET與$_POST的區別

PHP中$_GET與$_POST的區別

一个新手
一个新手原創
2017-09-13 09:13:032389瀏覽

$_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的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn