PHP if 语句使菜单链接当前链接不起作用


PHP if statement to make menu links current link not working

我有一个HTML水平菜单,上面有一些PHP if语句,可以查看链接是否处于活动状态。

这是 HTML:

<li<?php if(dirname($_SERVER['REQUEST_URI'])."/" == '/clients/') { echo ' class="current_page_item"'; } ?>><a href="/clients/">Login</a></li>
<li<?php if($_SERVER["REQUEST_URI"] == '/clients/index.php?fuse=support&view=SubmitTicketForm') { echo ' class="current_page_item"'; } ?>><a href="/clients/index.php?fuse=support&view=SubmitTicketForm">Contact Us</a></li>
"联系我们"链接位于客户端目录中,"登录"链接是除">

联系我们"链接位置之外的整个"客户"目录,如果当前 URL 位于目录客户端中,则"登录"链接将成为活动链接,但我不希望"联系我们"链接发生这种情况。

我该如何解决这个问题?

更新:我刚刚尝试了 http://pastebin.com/ePSQe0i0 但它不起作用。它将活动链接保留在主页链接上。

您检查:

dirname($_SERVER['REQUEST_URI'])."/"

在这两种情况下,这始终是"/client/"。

为什么不简单地检查:

<li<?php if($_SERVER['REQUEST_URI'] == '/clients/') { echo ' class="current_page_item"'; } ?>><a href="/clients/">Login</a></li>

并保留第二个

编辑

所以现在我想我明白了:检查"/client/"是否是$_SERVER['REQUEST_URI']的一部分,但也排除特殊情况,其中$_SERVER["REQUEST_URI"] == '/clients/index.php?fuse=support&view=SubmitTicketForm'

所以这里是:

<li<?php if((dirname($_SERVER['REQUEST_URI'])."/" == '/clients/')&&(($_SERVER["REQUEST_URI"] != '/clients/index.php?fuse=support&view=SubmitTicketForm'))) { echo ' class="current_page_item"'; } ?>><a href="/clients/">Login</a></li>
<li<?php if($_SERVER["REQUEST_URI"] == '/clients/index.php?fuse=support&view=SubmitTicketForm') { echo ' class="current_page_item"'; } ?>><a href="/clients/index.php?fuse=support&view=SubmitTicketForm">Contact Us</a></li>