PHP5 預設 register_globals = off 當舊程式造成的問題:

PHP程式當中有很多可以取得網頁資料的方法

舉例來說:
$_GET、$HTTP_GET_VARS:這個陣列儲存著從網址「?」之後的變數名稱與資料

$_POST、$HTTP_POST_VARS:這個陣列儲存著表單用POST過來的資料

$_SESSION、$HTTP_SESSION_VARS:這個陣列儲存著session變數

$_COOKIE、$HTTP_COOKIE_VARS:這個陣列儲存著session變數

$_FILES:這個陣列儲存著從表單上傳的檔案

$_SERVER、$HTTP_SERVER_VARS:這個陣列儲存著伺服器與用戶端瀏覽器相關的環境變數

在PHP3和PHP4.1.0之前的版本,

php.ini 設定的 register_globals = on,

但在PHP5卻預設改成 register_globals = off,

這會導致 $HTTP_GET_VARS 等 $HTTP_ 開頭的變數不能等同$_GET來使用,

PHP4手冊也建議使用 $_GET。

要修正這個問題,最簡單的是把 php.ini 改成 register_globals = on


當然最好是用 Dreamweaver 或者文字編輯器可以在多數檔案中搜尋與取代的功能,

把 $HTTP_GET_VARS 換成 $_GET。

 

arrow
arrow
    全站熱搜

    雞蛋貓異想世界 發表在 痞客邦 留言(0) 人氣()