2013-09-05 112 views
0

我在switch語句中使用$ _GET來決定在選擇框中顯示的選項。事情很棒,直到我將我的服務器升級到PHP 5.3.21。現在我得到未定義的索引和未定義的變量錯誤消息。我修改了我的代碼,如果包含isset()。現在沒有錯誤,但我無法讓PHP認識到$ _GET [「menuid」}確實有價值。

http://www.example.com/mod/page/view.php?id=5100&module=1&menuid=2&module=1&page=2

代碼我使用的是:那我想從變量

URL

if (isset($_GET['menuid'])) { 
    $menuid = $_GET['menuid']; 
} 
else { 
    $menuid = "not working"; 
} 

echo $menuid; 
switch($menuid) { 
    // My code 
    } 

的結果是:

「不工作」

編輯:在PHP的子var_dump($ _ GET)的結果頁

array(0) { } 

編輯:PHP主頁

array(4) { ["id"]=> string(4) "5100" ["module"]=> string(1) "1" ["menuid"]=> string(1) "2" ["page"]=> string(1) "2" } 

上面的var_dump是從PHP主網頁的var_dump($_GET)結果。原始代碼位於一個單獨的PHP頁面上,我使用file_get_contents();將它包含到了PHP主頁面。 file_get_contents()會導致這個問題嗎?

+2

後的var_dump'結果( $ _GET);' – Mansfield

+0

not workingarray(0){ } –

+0

'htaccess'可能會重寫。檢查'htaccess'規則 – Bora

回答

1

事實證明,file_get_contents()函數是做$ _GET無法正常工作。我已經將主PHP頁面上的代碼修改爲require_once()。一的var_dump子PHP頁面($ _ GET),我的原代碼是,現在造成這樣的:

array(4) { ["id"]=> string(4) "5100" ["module"]=> string(1) "1" ["menuid"]=> string(1) "2" ["page"]=> string(1) "2" } 

謝謝@Mansfield您的幫助

+0

不客氣! Include/Require肯定比'file_get_contents'好。 – Mansfield