我有一个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>