Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP的活动导航栏?_Php_Html_Css - Fatal编程技术网

使用PHP的活动导航栏?

使用PHP的活动导航栏?,php,html,css,Php,Html,Css,我正在尝试使用PHP创建一个活动的导航栏,其中当前页面将在导航栏中高亮显示或着色。我使用的代码是: <ul class="topmenu"> <li <?php if($_GET['page']="home") { ?> class="active" <?php } ?>> <a href="home.php"><b>Bienvenue</b></a> </li> &l

我正在尝试使用PHP创建一个活动的导航栏,其中当前页面将在导航栏中高亮显示或着色。我使用的代码是:

<ul class="topmenu">
  <li <?php if($_GET['page']="home") { ?> class="active" <?php } ?>>
    <a href="home.php"><b>Bienvenue</b></a>
  </li>
  <li <?php if($_GET['page']="livres") { ?> class="active" <?php } ?>>
    <a href="livres.php"><b>Livres</b></a>
  </li>
  <li <?php if($_GET['page']="bibliotheque") { ?> class="active" <?php } ?>>
    <a href="bibliotheque.php"><b>Bibliothèque</b></a>
  </li>
  <li <?php if($_GET['page']="universite") { ?> class="active" <?php } ?>>
    <a href="universite.php"><b>L'université</b></a>
  </li>
  <li <?php if($_GET['page']="contact") { ?> class="active" <?php } ?>>
    <a href=""><b>Contact</b></a>
  </li>
</ul>
    > > > > >
如果页面是导航栏中的当前页面,则代码会将属性放入活动类中。但是,在这种情况下,所有属性都将被赋予活动类。我该如何解决这个问题


p.S:我不是在寻找任何JS或jQuery的替代方案,我只是在尝试仅使用PHP来实现这一点。

我不使用PHP,但为当前页面提供活动标记,并根据每个文件进行更改。然后CSS中的单个类定义处理更改每个页面的颜色

HTML:


我不使用PHP,但为当前页面提供活动标记,并根据每个文件进行更改。然后CSS中的单个类定义处理更改每个页面的颜色

HTML:


您可以使用$\u服务器['SCRIPT\u NAME']

<ul class="topmenu">
            <li <?php if($_SERVER['SCRIPT_NAME']=="/home.php") { ?>  class="active"   <?php   }  ?>><a href="home.php"><b>Bienvenue</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/livres.php") { ?>  class="active"   <?php   }  ?>><a href="livres.php"><b>Livres</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/bibliotheque.php") { ?>  class="active"   <?php   }  ?>><a href="bibliotheque.php"><b>Bibliothèque</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/universite.php") { ?>  class="active"   <?php   }  ?>><a href="universite.php"><b>L'université</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/contact.php") { ?>  class="active"   <?php   }  ?>><a href="contact.php"><b>Contact</b></a></li>
</ul>
    > > > > >

您可以使用$\u服务器['SCRIPT\u NAME']

<ul class="topmenu">
            <li <?php if($_SERVER['SCRIPT_NAME']=="/home.php") { ?>  class="active"   <?php   }  ?>><a href="home.php"><b>Bienvenue</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/livres.php") { ?>  class="active"   <?php   }  ?>><a href="livres.php"><b>Livres</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/bibliotheque.php") { ?>  class="active"   <?php   }  ?>><a href="bibliotheque.php"><b>Bibliothèque</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/universite.php") { ?>  class="active"   <?php   }  ?>><a href="universite.php"><b>L'université</b></a></li>
            <li <?php if($_SERVER['SCRIPT_NAME']=="/contact.php") { ?>  class="active"   <?php   }  ?>><a href="contact.php"><b>Contact</b></a></li>
</ul>
    > > > > >
  • 在每个页面的顶部声明页面变量
  • 示例:
  • 对于导航栏中的每个列表项,添加带有相应变量和活动类的if语句
  • 示例:
    
    
  • 在每个页面的顶部声明页面变量
  • 示例:
  • 对于导航栏中的每个列表项,添加带有相应变量和活动类的if语句

  • 示例:
    我正在使用bootstrap4类。我已经实现了像这样的主动选课

    <li class="nav-item">
        <a 
        <?php if ($_SERVER['SCRIPT_NAME'] == "/somepath/yourfile1.php") { ?> 
             class="nav-link active" 
        <?php   } else {  ?>
             class="nav-link"
        <?php } ?> 
             href="yourfile1.php">Home
        </a>
     </li>
    <li class="nav-item">
        <a 
        <?php if ($_SERVER['SCRIPT_NAME'] == "/somepath/yourfile2.php") { ?> 
             class="nav-link active" 
        <?php   } else {  ?>
             class="nav-link"
        <?php } ?> 
             href="yourfile2.php">Home
        </a>
     </li>
    

  • 对其他li标记重复此逻辑。希望这对其他人有所帮助。

    我正在使用bootstrap 4类。我已经实现了像这样的主动选课

    <li class="nav-item">
        <a 
        <?php if ($_SERVER['SCRIPT_NAME'] == "/somepath/yourfile1.php") { ?> 
             class="nav-link active" 
        <?php   } else {  ?>
             class="nav-link"
        <?php } ?> 
             href="yourfile1.php">Home
        </a>
     </li>
    <li class="nav-item">
        <a 
        <?php if ($_SERVER['SCRIPT_NAME'] == "/somepath/yourfile2.php") { ?> 
             class="nav-link active" 
        <?php   } else {  ?>
             class="nav-link"
        <?php } ?> 
             href="yourfile2.php">Home
        </a>
     </li>
    


  • 对其他li标记重复此逻辑。希望这对其他人有所帮助。

    我同意这是一种方法,但我正在尝试让这种PHP方法工作,因为它是自动的,不需要创建太多的类。很公平,我想我会建议这样做,因为它仍然允许由CSS中的单个类来管理。祝你好运这是一种方法,我同意,但我正试图让这种PHP方法工作,因为它是自动的,不需要创建太多的类。很公平,我想我会建议它,因为它仍然允许由CSS中的单个类来管理。祝你好运同样的问题,我也尝试使用$服务器['CURRENT\u URI']。但它总是给出类的所有属性。从逻辑上讲,代码应该可以工作,但知道它不工作才是真正的困难。啊!我明白了。那是因为我们很愚蠢。我们正在检查脚本名称是否可以设置为'whater.php',而不是'whater.php'。==你是天才,先生。它按预期运行。我还注意到我必须在页面顶部添加
    if($\u SERVER['SCRIPT\u NAME']=“/pagename.php”)
    ,才能使它正常工作。我还注意到我必须在当前所在的页面中使用一个=。如果我在所有属性中使用==它将不起作用。同样的问题,我还尝试使用$\u SERVER['CURRENT\u URI']。但它总是给出类的所有属性。从逻辑上讲,代码应该可以工作,但知道它不工作才是真正的困难。啊!我明白了。那是因为我们很愚蠢。我们正在检查脚本名称是否可以设置为'whater.php',而不是'whater.php'。==你是天才,先生。它按预期运行。我还注意到我必须在页面顶部添加
    if($\u SERVER['SCRIPT\u NAME']=“/pagename.php”)
    ,才能使它正常工作。我还注意到我必须在当前所在的页面中使用一个=。如果我在所有属性中使用==它将不起作用。如果我使用此方法,是否意味着在每个页面的每个If中都将返回true?因为变量将被指定为“home”,并且对于每个if都是真的。我理解错了吗?它只会在li中返回true,您分配的页面变量与if语句中的匹配。如果您在livres页面上,您将在php的顶部使用
    编写代码。在BiblioRequest页面上,
    应位于顶部。你的导航条应该是
      ,如果我使用这个方法,这不意味着在每个页面的每个If中都会返回true吗?因为变量将被指定为“home”,并且对于每个if都是真的。我理解错了吗?它只会在li中返回true,您分配的页面变量与if语句中的匹配。如果您在livres页面上,您将在php的顶部使用
      编写代码。在BiblioRequest页面上,
      应位于顶部。您的导航栏应该是