2017-07-24 55 views
-2

我使用這段代碼,但它不能正常工作。它只是輸出about.php頁面。爲什麼是這樣?PHP,動態分頁不工作

$halaman= isset($_GET['menu']); 
switch ($halaman) : 


    default: 
     include "home.php"; 
     break; 

    case 'about': 
     include "about.php"; 
     break; 
    case 'galery': 
     include "galery.php"; 
     break; 
    endswitch; 
+0

你將不得不定義*「不工作」*。這裏也沒有足夠的代碼。你還沒有檢查錯誤嗎? –

+2

你需要根據'true'或'false'來切換,這就是'isset'返回的結果 –

+0

isset返回一個布爾值,所以當你想要存儲在$ _GET ['menu'中的值時,$ halmana被設置爲true/]爲你的switch語句。 –

回答

1

isset()返回布爾值。因此,您在switch聲明中測試的變量正確或錯誤。

2

這應該工作,因爲isset()返回一個布爾值而不是字符串。

if(isset($_GET['menu'])){ 
    switch ($_GET['menu']) : 


     default: 
      include "home.php"; 
      break; 

     case 'about': 
      include "about.php"; 
      break; 
     case 'galery': 
      include "galery.php"; 
      break; 
     endswitch; 
} 
+2

' islet()'返回一個小島。 –

+0

做或不​​做,沒有「嘗試」。一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,還是爲了將來訪問SO。 –

+0

謝謝,我將編輯 – Brian

3

isset()返回一個布爾值,所以你需要真正的檢查,然後GET值分配給您的變量類似下面的內容: -

$halaman= (isset($_GET['menu'])) ? $_GET['menu'] : ""; // instead of "" you can add any other default value. 
switch ($halaman) : 

    default: 
     include "home.php"; 
     break; 

    case 'about': 
     include "about.php"; 
     break; 

    case 'galery': 
     include "galery.php"; 
     break; 
    endswitch; 

演示例如: - https://eval.in/837023

注: -

你可以申請!empty(),而不是isset()也(將檢查這兩個變量被設置,有一定的價值),然後就可以像下面: -

輸出: - https://eval.in/837028