我对这个开关案有疑问,如果有人可以给我一些关于出错的提示,我会很高兴。
下面的行继续将案例1,2或3添加到默认值(centre_1)之下,而不是替换它。
我无法找到它出错的地方。这是代码:
<?php include("mx/centre_1.php");
if(!isset($_GET['page'])) {
$page='centre_mx.php';
} else {
switch($_GET['page']) {
case'centre_1':
include('/mx/centre_1.php');
break;
case'centre_2':
include('/mx/centre_2.php');
break;
case'centre_3':
include('/mx/centre_3.php');
break;
}
}
?>
任何帮助都会有所帮助。
答案 0 :(得分:0)
始终显示'/mx/centre_1.php'的原因是因为您在if和switch语句之外的代码顶部。因此,它将包含在每个页面加载。
为了在没有选择其他选项时只显示'/mx/centre_1.php',您需要将其设为默认开关案例。
$page = '';
if(in_array('page', $_GET)) {
$page = $_GET['page'];
}
switch($page) {
case 'centre_2':
include('/mx/centre_2.php');
break;
case 'centre_3':
include('/mx/centre_3.php');
break;
default:
include('/mx/centre_1.php');
}
当没有其他情况与提供的变量匹配时,将发生switch语句中的默认情况。也就是说,如果$ _GET ['page']不等于centre_2或centre_3,那么将执行默认代码。
我建议您阅读有关切换语句here的更多内容,因为您似乎并不了解它们是如何工作的。