2017-07-24 52 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