【问题标题】:php nav bar activephp 导航栏处于活动状态
【发布时间】:2013-03-05 11:36:49
【问题描述】:

您好,我正在尝试让我的导航栏按钮处于活动状态,以便它在该特定页面上时看起来不同。

当我手动将我的 li 类更改为活动状态时,它可以工作,但是当我使用下面的代码执行此操作时,该类保持为无。

<?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>';
?>

所以我想要的是当我在索引页面上时类处于活动状态,而当我不在索引页面上时我希望类不存在

【问题讨论】:

    标签: php navigation


    【解决方案1】:

    尝试使用PHP的服务器变量http://php.net/manual/en/reserved.variables.server.php

    $_SERVER['PHP_SELF']
    

    我认为这会起作用

    【讨论】:

    • 或者他可以在顶部添加$PHP_SELF = $_SERVER['PHP_SELF'];
    • 这些没用,即使我在页面上,我的课程仍然没有工作
    • 尝试将echo $_SERVER['PHP_SELF'] 放在末尾(或顶部)以查看它提供的价值。而且也许你看到了什么问题
    • 感谢 rednas 和其他人,因为我在我的域开头使用了一个 ip 进行测试,我不得不将网址放在 /index.php 的前面
    【解决方案2】:
    <?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']。

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多