2013-10-07 75 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'數據通過,如果沒有,你必須在「登錄」頁面? –