【发布时间】:2018-10-16 12:26:25
【问题描述】:
我在 header.php 中有这段代码:
<?php
$page = "";
?>
<ul class="nav navbar-nav navbar-right nav-pos">
<li <?php if ($page == "home") { ?> class="active"<?php } ?>><a href="home.php">Home</a></li>
<li <?php if($page == 'about') { ?> class="active"<?php } ?>><a href="aboutus.php">About us</a></li>
<li <?php if($page == 'contact'){ ?> class="active"<?php } ?>><a href="contactus.php">Contact us</a></li>
<li class="hidden-xs"><a href="#search"><i class="fa fa-search fa-rotate-90"></i></a></li>
</ul>
在每一页上我都放了这段代码(名称更改取决于当前页面):
<?php include 'header.php';
$page = 'about' ?>
在 css 中我做了这个:
.active{color:red }
但它不起作用......知道为什么吗?
谢谢你的时间,我真的很感激
【问题讨论】:
-
$page 始终仅在您输出该导航的位置包含空字符串,因为这是您分配给它的值。在您已经输出导航代码之后再更改值不会再更改任何内容,PHP 不是时间机器。
-
你在哪里包含你的 header.php ?您能按原样向我们展示代码吗?
-
无需设置和包含任何内容。只做这个:-
<?php $page = explode('.',end(explode('/',$_SERVER['REQUEST_URI']))[0]; ?> <ul class="nav navbar-nav navbar-right nav-pos"> <li <?php if ($page == "home") { ?> class="active"<?php } ?>><a href="home.php">Home</a></li> <li <?php if($page == 'aboutus') { ?> class="active"<?php } ?>><a href="aboutus.php">About us</a></li> <li <?php if($page == 'contactus'){ ?> class="active"<?php } ?>><a href="contactus.php">Contact us</a></li> <li class="hidden-xs"><a href="#search"><i class="fa fa-search fa-rotate-90"></i></a></li> </ul> -
eddy abikhalil 你试过我的评论代码了吗?它有效吗?
标签: php css twitter-bootstrap