2 回答

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
PHP中有$_REQUEST與$_POST、$_GET用于接受表單數(shù)據(jù)。
一、$_REQUEST與$_POST、$_GET的區(qū)別和特點
$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比較慢。通過POST和GET方法提交的所有數(shù)據(jù)都可以通過$_REQUEST數(shù)組獲得。
二、$_POST、$_GET的區(qū)別和特點
1. GET是從服務(wù)器上獲取數(shù)據(jù),POST是向服務(wù)器傳送數(shù)據(jù)。
2. GET是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。POST是通過HTTP POST機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于GET方式提交表單數(shù)據(jù),服務(wù)器端用$_GET[‘name’]獲取變量的值,對于POST方式提交表單數(shù)據(jù),服務(wù)器端用$_POST[‘name’]獲取提交的數(shù)據(jù),當(dāng)然,兩者都可以通過$_REQUEST[‘name’]獲得表單數(shù)據(jù)。對于REQUEST方式提交表單數(shù)據(jù),服務(wù)器端用$_REQUEST[‘name’]獲取變量的值,但這種方式很少用。
4. GET傳送的數(shù)據(jù)量較小,不能大于2KB。POST傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,一般認(rèn)為不能超過100KB。
5. GET安全性非常低,POST安全性較高。
6. GET表單值可以通過_GET獲?。坏ㄟ^action的url設(shè)置的參數(shù)總是獲取不到的,<form method="get" action="a.asp?b=b">跟<form method="get"action="a.asp">是一樣的,也就是說,在這種情況下,GET方式會忽略action頁面后邊帶的參數(shù)列表。POST表單值可以通過_POST獲?。坏ㄟ^action的url參數(shù)設(shè)置的參數(shù)則可以不能通過_POST獲取到。action=test.php?id=1這種就是GET方式傳值,可以用$_REQUEST和$_GET接受傳值,但不能用POST方式獲取到值,即使表單是POST方式提交。所在,在提交表單時,如果action中同時有參數(shù),最好只能通過POST表單方式,對于表單內(nèi)數(shù)據(jù),直接通過POST獲取,對于action中參數(shù),童工GET獲取。
在做數(shù)據(jù)查詢時,建議用GET方式,而在做數(shù)據(jù)添加、修改或刪除時,建議用POST方式。
request是先讀取 get再讀post 的, 同時存在, 即覆蓋掉前面的變量。
- 2 回答
- 0 關(guān)注
- 620 瀏覽
添加回答
舉報