2013-06-13 47 views
0

所以我想基本上使它象:P =布拉布拉& DEP =布拉布拉

switch($_GET['p']) 
{ 
case 'home': 
    include("template/index.html"); 
    break; 
case null: 
    include("template/index.html"); 
    break; 
case 'roster': 
    include("template/roster.html"); 
    break; 
case 'about': 
    include("template/about.html"); 
    break; 
case 'members': 
    include("members/index.php"); 
    break; 
} 

if(($_GET['p'] == 'about') && ($_GET['dep'] == 'hospital')) 
{ 
    include("template/hospital.html"); 
} 

它仍然包括about.html和hospital.html當我做blablabla?p =約& dep =醫院

我該如何解決這個問題?

回答

0

只要將if語句放在switch case中。

case 'about': 
    if ($_GET['dep'] == 'hospital') 
     include("template/hospital.html"); 
    else 
     include("template/about.html"); 
    break; 
0

這正是你所要求的。

首先你有你的switch語句。它看到$ _GET ['p']中有'about',所以它會包含該腳本。

然後你有你的,如果這也評估爲真,因此它包括在內。

要改變這一點:

如果你的「約」的情況下添加另一個。

case 'about': 
    if ($_GET['dep'] == 'hospital') break; 
    include("template/about.html"); 
    break; 
0

你的開關,以查找DEP =醫院前行rocessed,所以它會包括about.html之前就查找部門。

如果您只想顯示hospital.html,但只有在p = about的情況下才將測試移入該案例。

switch($_GET['p']) 
{ 
case 'home': 
    include("template/index.html"); 
    break; 
case null: 
    include("template/index.html"); 
    break; 
case 'roster': 
    include("template/roster.html"); 
    break; 
case 'about': 
    if(($_GET['dep'] == 'hospital')) { 
    include("template/hospital.html"); 
    } else { 
    include("template/about.html"); 
    } 
    break; 
case 'members': 
    include("members/index.php"); 
    break; 

}