$_POST 變量
$_POST 變量是一個(gè)數(shù)組,內(nèi)容是由 HTTP POST 方法發(fā)送的變量名稱(chēng)和值。
$_POST 變量用于收集來(lái)自 method="post" 的表單中的值。從帶有 POST 方法的表單發(fā)送的信息,對(duì)任何人都是不可見(jiàn)的(會(huì)顯示在瀏覽器的地址欄),并且對(duì)發(fā)送信息的量也沒(méi)有限制。
例子
<form action="welcome.php" method="post"
> Enter your name: <input type="text" name="name" /> Enter your age: <input type="text" name="age" /> <input type="submit" /> </form>
當(dāng)用戶(hù)點(diǎn)擊提交按鈕,URL 不會(huì)含有任何表單數(shù)據(jù),看上去類(lèi)似這樣:
http://www.w3school.com.cn/welcome.php
"welcome.php" 文件現(xiàn)在可以通過(guò) $_POST 變量來(lái)獲取表單數(shù)據(jù)了(請(qǐng)注意,表單域的名稱(chēng)會(huì)自動(dòng)成為 $_POST 數(shù)組中的 ID 鍵):
Welcome <?php echo $_POST["name"]
; ?>.<br /> You are <?php echo $_POST["age"]
; ?> years old!
$_REQUEST 變量
PHP 的 $_REQUEST 變量包含了 $_GET, $_POST 以及 $_COOKIE 的內(nèi)容。
PHP 的 $_REQUEST 變量可用來(lái)取得通過(guò) GET 和 POST 方法發(fā)送的表單數(shù)據(jù)的結(jié)果。
例子
Welcome <?php echo $_REQUEST["name"]; ?>.<br /> You are <?php echo $_REQUEST["age"]; ?> years old!
ATTENTION:慎用$_REQUEST
如果get的一個(gè)變令名稱(chēng)和post的一個(gè)變量名稱(chēng)相同,則POST的值會(huì)覆蓋GET的變量值
以為REQYEST先獲取了get的值,然后獲取了post的值,post的值會(huì)覆蓋get值
我們可以來(lái)看php.ini中的配置
; This directive describes the order in which PHP registers GET, POST, Cookie,
; Environment and Built-in variables (G, P, C, E & S respectively, often
; referred to as EGPCS or GPC). Registration is done from left to right, newer
; values override older values.
variables_order = "EGPCS"
這個(gè)EGPCS就是說(shuō)明用$_REQUEST數(shù)組獲取內(nèi)容的優(yōu)先級(jí),其字母的含義分別代表為:E代表$_ENV,G代表$_GET,P代表$_POST,C代表$_COOKIE,S代表$_SESSION。后面出現(xiàn)的數(shù)據(jù)會(huì)覆蓋前面寫(xiě)入的數(shù)據(jù),其默認(rèn)的數(shù)據(jù)寫(xiě)入方式就是EGPCS,所以POST包含的數(shù)據(jù)將覆蓋GET中使用相同關(guān)鍵字的數(shù)據(jù)。
通過(guò)這個(gè)我們也可以看出PHP獲取參數(shù)的步驟
環(huán)境變量=》GET=》POST=》COOKIE=>SESSION