0

こんにちは、私は PHP で動的な Web ページを作成しようとしていますが、問題が$_SERVER['PATH_INFO']あると思います。home または about を押すたびに、index.php.home または index.php.about が URL に追加されます。これが私のコードです:

<body>
<div style="width:800px; height:auto;">
<nav>
    <a href="index.php/home">home</a>
    <a href="index.php/about">about</a>
</nav>
<?php 
    $path = substr($_SERVER['PATH_INFO'],1);
    echo $path;
    if($path==""){
        $path = "home";
    }
    if($path == "home"){    
        ?>
        <h1> Home Page </h1>
        <?php 
    }
    elseif($path == "about"){
        ?>
        <h1> About Page</h1>
        <?php 
    }else{
        ?>
        <h1> Page Not Found </h1>
        <?php 
    }
?>
</div>
</body>

この問題について何か助けてもらえますか?

4

2 に答える 2

2

これには$_GET変数を使用する必要があります。あなたがのようなURLを持っているなら

index.php?p=categories&sp=specific_category

次に、次のようになります。

$_GET['p'] will be categories
$_GET['sp'] will be specific_category

それで

<body> 
<div style="width:800px; height:auto;"> 
<nav> 
<a href="index.php?p=home">home</a> 
<a href="index.php?p=about">about</a> 
</nav> 
<?php  
    if(!isset($_GET['p']) || $_GET['p'] == 'home'){ 
?>
<h1> Home Page </h1>
<?php
    } 
    elseif($_GET['p'] == "about"){ 
?> 
<h1> About Page</h1> 
<?php  
    } else { 
?> 
<h1> Page Not Found </h1> 
<?php  
    } 
?> 
</div> 
</body> 
于 2012-08-06T08:15:16.400 に答える
0

このような完全なパスを入れてください

<?php
$protocall="http://www.";
$host= $_SERVER['SERVER_NAME'];
$ext=".com";
$site=$protocall.$host.$ext;

?>

<nav>
    <a href="<?php echo $site; ?>/index.php/home">home</a>
    <a href="<?php echo $site; ?>/index.php/about">about</a>
</nav>

$site をグローバル ファイルに定義する

于 2012-08-06T11:21:50.563 に答える