[轉載]使用PHP4.2.0及以後版本的注意事項

轉載自: 中文 PHP 資訊站


從PHP 4.2.0版本開始中, PHP 指令 register_globals 的預設值為 off(在php.ini配置文件裏). 這是 PHP 的一個主要變化。register_globals是幹什麼用的呢?它是PHP用來控制是否將EGPCS (Environment, GET, POST, Cookie, Server)變數是否註冊為總體變數的。
例如,對於 http://www.xx.php?var=2 這裡的var,在為 on 時,你只需用 $var 即可,但在 off 時,就必須用 $_GET["var"] 來接收了~ 這裡的 $_GET 就是一個PHP超總體變數陣列。和它性質一樣的還有:

  • $GLOBALS

 

包含一個引用指向每個當前腳本的全局範圍內有效的變數。該陣列的鍵標為總體變數的 名稱。從 PHP 3 開始存在 $GLOBALS 陣列。

 

  • $_SERVER

 

變數由 Web 伺服器設定或者直接與當前腳本的執行環境相關聯。等同於舊陣列 $HTTP_SERVER_VARS 陣列,但和 $_SERVER 不是一個變數,因為PHP處理它們的方式不同,下同。雖然$HTTP_SERVER_VARST和下面的$HTTP_*_VARS仍然可以使用,但絕不推 薦您再使用$HTTP_*_VARS.

 

  • $_GET

 

經由 HTTP GET 方法提交至腳本的變數。例如由 URL、表單的GET方式 產生的變數。使用方式:$_GET["xx"];

 

  • $_POST

 

經由 HTTP POST 方法提交至腳本的變數。例如由 表單的POST方式 產生的變數。使用方式:$_POST["xx"];

 

  • $_COOKIE

 

經由 HTTP Cookies 方法提交至腳本的變數。 例如讀取COOKIE值的時候。

 

  • $_FILES

 

經由 HTTP POST 文件上傳而提交至腳本的變數。我的另一篇文章 對文件上傳處理過程的進一步說明 已經較詳細地介紹它的用法,這裡不再說明。

 

  • $_ENV

 

執行環境提交至腳本的變數。

 

  • $_REQUEST

 

經由任何用戶輸入機制提交至腳本的變數,包括 GET,POST,COOKIE等方式,因此該陣列並不值得信任。

 

  • $_SESSION

 

存放SESSION變數的陣列。你不必用session_regisger來註冊某個變數,用 $_SESSION["xx"] 即包含有上述過程。

 

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了讚: