0
<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、なぜ?少し助けが必要です

4

1 に答える 1

1

issetの結果(常にブール値) が $id に直接割り当てられるためtrue/false、ここでスイッチをオンにしているためです。この行は次のように書き換える必要があります...

$id = isset($_GET['id']) ? $_GET['id'] : '';

...''実際にはそのデフォルト値に置き換えることができます。

$_GET['id'] 実際、それが空であることがわかった瞬間にユーザーをリダイレクトし、 で異なる値を分析できますswitch。このような:

if (! isset($_GET['id'])) { ... redirection ... }
switch ($_GET['id']) {
  case 'first': ...; break;
  case 'second': ...; break;
  default: ...;
}
于 2012-12-25T17:55:09.127 に答える