<div id="navigation">
<ul>
<li><a href="?id=action">Action</a></li>
<li><a href="?id=adventure">Adventure</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
<?php
$id = (isset($_GET['id'])); set the value
switch($id) {
case 'actiune':include('/actiune/index.php');//first page
break;
case 'aventura':include('/aventura/index.php');//second page
break;
}
?>
当我访问冒险时,我需要/action/index.php
为什么?
我需要一些帮助
答案 0 :(得分:1)
因为你在这里开启了true/false
,所以isset的结果 - 总是布尔值 - 直接分配给$ id。这一行应改写为......
$id = isset($_GET['id']) ? $_GET['id'] : '';
...其中''
实际上可以替换为该默认值。
事实上,当您发现$_GET['id']
为空时,您可以重定向用户,然后使用switch
分析它的不同值。像这样:
if (! isset($_GET['id'])) { ... redirection ... }
switch ($_GET['id']) {
case 'first': ...; break;
case 'second': ...; break;
default: ...;
}