2014-08-28 57 views
0

我對遺留PHP網站工作作爲一個忙的人,我已經在本地設置的網站了,但有一件事不工作是代碼似乎表現得好像環境參數(例如Gets,Posts,PHP_AUTH_USER等)都似乎魔法變成了預置變量,我看不出如何。從環境中自動創建變量參數

代碼看起來像

<? if ($division) { ?><? if ($PHP_AUTH_USER) { ?>

,但直到我將其更改爲

<? if ($_GET['division']) { ?><? if ($_SERVER['PHP_AUTH_USER']) { ?>

這些代碼行是在頂部不會在本地工作該頁面並沒有以前包含的內容,可以在其他地方進行。

任何想法?這是我錯過的PHP配置中的一個設置嗎?

+1

最好改變它,但'register_globals'。 – AbraCadaver 2014-08-28 20:09:30

回答

1

你可以走了,並在php.ini變化爲register_globals設置爲OFF

另外注意的是有security risk,因爲它使服務器,餅乾等變量作爲全球),這是參與使用register_globals。更好的選擇將是改變。

0

嘗試是這樣的:

while (list($k, $v) = each ($_GET)) { 
    $$k = $v; 
} 

的 「$$」 是正確的!這是一個變量變量。 因此,所有$ _GET對都可以在沒有$ _GET的情況下訪問。你也可以用$ _SERVER來做到這一點。