2012-10-03 34 views
11

我正在用php開發一個後端。在我的htdocs目錄PHP_SELF未定義變量PHP_SELF

我有問題,這樣的錯誤是這樣的:

未定義的變量。

我用PHP 5.4.4開發,如果你想看看源代碼,這就是:

http://pastebin.com/xr2PxbNG

+5

您真的在尋找$ _SERVER ['PHP_SELF']嗎? –

+2

嘗試,$ _SERVER ['PHP_SELF'] – FirmView

+0

我在我的本地主機中構建它們。讓我改變他們一會兒:) – adadeh

回答

17

不要使用任何PHP_SELF的建議版本。這是一個安全噩夢,開放你的PHP到多種可能的注入攻擊。

你想達到什麼目的?生成發送給自己的表單的URL?爲此,使用action="" - 這是一種有效的方法,並且始終將URL用於發送表單以用於加載。

如果您必須知道所需的腳本,請改爲使用$_SERVER['SCRIPT_NAME']

+0

我認爲最好是在localhost上學習設置,並探索 – FirmView

+1

非常感謝您,問題仍然解決:) – adadeh

2

你試圖訪問$ _ SERVER [「PHP_SELF」]?

+0

感謝回覆:) – adadeh

2

它是$_SERVER['PHP_SELF']而不是$PHP_SELF。見docs

+0

非常感謝您的建議 – adadeh

11

您正在使用$PHP_SELF應該

echo $_SERVER['PHP_SELF'] ; 

或者

$PHP_SELF = &$_SERVER['PHP_SELF']; 
echo $PHP_SELF ; 

您也可以

define("PHP_SELF",$_SERVER['PHP_SELF']); 
echo PHP_SELF ; 
+1

夠了。你已經給了這麼多選項,哈哈 – FirmView

+0

+1 @FirmView這個是你的'var_dump($ _ SERVER ['PHP_SELF'] == $ _SERVER ['REQUEST_URI'])// true' – Baba

+2

這是好的 更多的參考文獻是更好的:) – adadeh

1

看起來像某些WordPress分佈宣佈$PHP_SELF = $_SERVER['PHP_SELF']由於我不能說的原因,必須是一些遺留的事情。

1

我必須解決這個錯誤使用頁面URL ... 例如。像

echo "<a href=\"$_PHP_SELF?page=$last\">Last 3 Records</a>"; 

你必須刪除$ _PHP_SELF和使用頁面URL insert.php .......

1

我得到相同, 注意:未定義的變量_PHP_SELF 所以我剛剛更換$ _PHP_SELF到$ _SERVER [PHP_SELF] 現在我沒有得到任何額外的編號

0

一些shell將刪除$_SERVER['PHP_SELF']作爲安全措施的值。如果這是您正在發生的事情,您可能需要查看$_SERVER['argv'][0]