$_REQUEST包含GET/POST/Cookie,在鍵值相同時默認是POST > GET,Cookie > POST or GET這個默認順序是可以改,在php.ini中找variables_order,會看到類似variables_order = "EGPCS"。

這就是php註冊變量順序,E代表$_ENV,G代表$_GET,P代表$_POST,C代表$_COOKIE,S代表$_SERVER。在register_globals為on時,新的值會覆蓋之前的值。例如在register_globals為on時,可以直接用$key代體$_GET['key']。同樣這個順序的gpc也作用在$_REQUEST中。

如果禁止了register_globals,但又想用一些全局變量,可以用extract()函數,在沒有權限修改variables_order的順序時,想用到全局變量又想設置一下覆蓋的順序時可以用import_request_variables('gpc');實現同樣,鍵值相同時會按函數參數的順序覆蓋而不受php.ini的variables_order順序制約。

文章標籤
全站熱搜
創作者介紹
創作者 Edw 的頭像
Edw

生活兩三事

Edw 發表在 痞客邦 留言(0) 人氣(70)