2013-10-07 53 views
0

我有一个HTML水平菜单,有几个PHP if语句来查看链接是否处于活动状态。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> 

的联系我们链接中的客户端目录和登录链接是整个从联系我们链接位置分开Clients目录中,如果当前的网址是目录客户端使得登录链接成为活动链接,但我不希望这种情况发生在联系我们链接上。

我该如何解决这个问题?

UPDATE: 我刚才想http://pastebin.com/ePSQe0i0但它不工作。它保持Home链接上的活动链接。

+0

你'目录名()'检查将在两种情况下都是这样... –

回答

1

您检查:

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

,将永远是 '/用户/' 在这两种情况下。

为什么不直接检查:

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

并留下第二个,因为它是

编辑

所以现在我想我明白:检查 '/客户/'是$_SERVER['REQUEST_URI']的一部分,但也排除特例$_SERVER["REQUEST_URI"] == '/clients/index.php?fuse=support&view=SubmitTicketForm'

所以这里goe S:

<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> 
+0

多数民众赞成罚款,但如果第二个环节是/clients/index.php?fuse=support&view=SearchTicket我想要的登录链接除了联系我们链接 – user2710234

+0

其他链接,你可以发布所有相关的代码吗? –

+0

为什么不检查是否有'$ _GET'数据通过,如果没有,你必须在“登录”页面? –