【问题标题】:Add class active only on website root with PHP使用 PHP 添加仅在网站根目录上活动的类
【发布时间】:2012-02-09 06:43:07
【问题描述】:

我在每个页面中都包含了我的标题,其中还包含导航,这会导致在单击特定链接时如何向每个导航元素添加活动类的问题。

我在网上找到了一个可行的解决方案。

我把它放在我的 index.php 顶部:

<?php basename($_SERVER["REQUEST_URI"]) ?>

对于每个链接我都这样做:

<li><a <?php if (basename($_SERVER["REQUEST_URI"]) == "index.php") echo " class='active' ";?> href="index.php">Start</a></li>

一切正常,但如果你只是输入域名,当然一开始它就不起作用:

www.mydomain.com

我试过了:

if (basename($_SERVER["REQUEST_URI"]) != " ")

但它会一直坚持活动类。

我怎样才能添加类似“如果它是根,只需给出“开始”链接,然后才是活动类?

【问题讨论】:

  • 尝试使用$_SERVER['PHP_SELF'] 而不是$_SERVER["REQUEST_URI"]
  • 是的,这行得通!非常感谢!

标签: php


【解决方案1】:

您可以尝试使用 try $_SERVER['PHP_SELF'] 而不是 $_SERVER["REQUEST_URI"]

ps:如果您想了解更多关于 php 配置的信息(包括 $_SERVER 和其他的值),请创建一个带有 &lt;?php phpinfo(); ?&gt; 的 php 文件并从浏览器中调用它。

【讨论】:

  • 是的,这行得通!非常感谢您的快速回答和其他信息!
【解决方案2】:

你可以使用

if($_SERVER['REQUEST_URI'] == '/')

告诉你在根路径中。

【讨论】:

    【解决方案3】:
    function current_page_name()
    {
        $url = explode('/',$_SERVER['PHP_SELF']);
        $current_url = $url[count($url)-1];
        return $current_url;
    }   
    This function return your current page. 
    Hope this will help you.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 2012-07-31
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多