0

こんにちは、ナビゲーション バー ボタンをアクティブにしようとしているので、その特定のページにあるときとは異なって見えます。

手動でliクラスをアクティブに変更すると機能しますが、以下のコードを使用してそれを行うと、クラスはnoneのままになります。

<?php 
    echo '<ul class="nav">';

        echo ($PHP_SELF == '/index.php') ?
        '<li class="active"><a href="index.php">Home</a></li>' :
        '<li class="none"><a href="index.php">Home</a></li>';

        echo ($PHP_SELF == '/how-it-works.php') ?
        '<li class="active"><a href="how-it-works.php">How it works</a></li>' :
        '<li class="none"><a href="how-it-works.php">How it works</a></li>';

        echo ($PHP_SELF == '/gas.php') ?
        '<li class="active"><a href="gas.php">Gas</a></li>' :
        '<li class="none>"><a href="gas.php">Gas</a></li>';

        echo ($PHP_SELF == '/electric.php') ?
        '<li class="active"><a href="electric.php">Electric</a></li>' :
        '<li class="none"><a href="electric.php">Electric</a></li>';

        echo ($PHP_SELF == '/telecoms.php') ?
        '<li class="active"><a href="telecoms.php">Telecoms</a></li>' :
        '<li class="none>"><a href="telecoms.php">Telecoms</a></li>';

        echo ($PHP_SELF == '/services.php') ?
        '<li class="active"><a href="services.php">Services</a></li>' :
        '<li class="none"><a href="services.php">Services</a></li>';

        echo ($PHP_SELF == '/contact.php') ?
        '<li class="active"><a href="contact.php">Contact</a></li>' :
        '<li class="none"><a href="contact.php">Contact</a></li>';

         echo '</ul>';
?>

だから私が欲しいのは、クラスのインデックスページにいるときはアクティブになり、インデックスページにないときはクラスをなしにしたい

4

2 に答える 2

2

PHP http://php.net/manual/en/reserved.variables.server.phpのサーバー変数を使用してみてください

$_SERVER['PHP_SELF']

それはうまくいくと思います

于 2013-03-05T11:38:33.913 に答える
0
<?php 
            echo '<ul class="nav">';

                echo ($_SERVER['PHP_SELF'] == 'index.php') ?
                '<li class="active"><a href="index.php">Home</a></li>' :
                '<li class="none"><a href="index.php">Home</a></li>';

                echo ($_SERVER['PHP_SELF'] == 'how-it-works.php') ?
                '<li class="active"><a href="how-it-works.php">How it works</a></li>' :
                '<li class="none"><a href="how-it-works.php">How it works</a></li>';

                echo ($_SERVER['PHP_SELF'] == 'gas.php') ?
                '<li class="active"><a href="gas.php">Gas</a></li>' :
                '<li class="none>"><a href="gas.php">Gas</a></li>';

                echo ($_SERVER['PHP_SELF'] == 'electric.php') ?
                '<li class="active"><a href="electric.php">Electric</a></li>' :
                '<li class="none"><a href="electric.php">Electric</a></li>';

                echo ($_SERVER['PHP_SELF'] == 'telecoms.php') ?
                '<li class="active"><a href="telecoms.php">Telecoms</a></li>' :
                '<li class="none>"><a href="telecoms.php">Telecoms</a></li>';

                echo ($_SERVER['PHP_SELF'] == 'services.php') ?
                '<li class="active"><a href="services.php">Services</a></li>' :
                '<li class="none"><a href="services.php">Services</a></li>';

                echo ($_SERVER['PHP_SELF'] == 'contact.php') ?
                '<li class="active"><a href="contact.php">Contact</a></li>' :
                '<li class="none"><a href="contact.php">Contact</a></li>';

            echo '</ul>';
            ?>

すべての「/」を削除し、$_SERVER['PHP_SELF'] を使用します。

于 2013-03-05T11:47:09.987 に答える