作者fillano (冒牌費大公)
看板PHP
標題Re: [請益] get和post方法變數一樣怎麼獲取get值
時間Mon Jan 22 10:23:52 2007
form用get方法來submit的話,其實你在form裡面的變數就用
test.php?var1=value1&var2=value2這樣的形式傳給伺服器了
我想伺服器處理用get傳來變數的時候,如果是由左而右的話,那後來加進去的變
數應該會蓋過先前的,所以你透過get方法傳過去的變數會蓋過你在action裡面指
定的。
php.ini裡面有一個directive,是指定處理變數的順序:
通常是variables_order = "EGPCS",表示會依照這個順序處理伺服器傳過來的變數
E:系統環境變數、G:Get、P:Post、C:Cookie、S:php內建變數
處理的順序是由左而右,後面會蓋過前面,$_REQUEST裡面的東西已經經過這個順序處理
過了,所以如果get跟post傳過去同樣名稱的變數,在$_REQUEST裡面只能取到post的
get跟post都是http裡面定義的方法,可以去讀一下RFC2616(http1.1)的文件,看看他
怎麼定義的
get會受限於系統定義環境變數可使用的空間大小,post則否,所以有較大資料要傳的話
一般都會用post。
--
Sapere Aude! 這就是啟蒙運動的口號!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.137.98
推 wellwind:上了一課!! 01/22 13:13
→ jimmyken793:印象中get的字數限制是含網址256字 01/22 17:42
推 shingoliang:但是要複製給別人看同一頁就沒辦法吧,那是缺點! 01/22 19:37
→ shingoliang:我是指POST。 01/22 19:37
推 foxzgerald:所以搜尋引擎才會用 GET 01/23 03:37
推 superGA:get字數限制各家瀏覽器不一樣 但還是有限制就是了 01/23 04:10