2014-11-20 73 views
0

我是網絡編程新手。我用一個共同的標題做了一個簡單的網站。我的頭文件位於名爲inc/common_header.php的文件夾中,並且我在其他所有頁面中都包含了該頭文件。 到目前爲止,頭文件工作良好,但我想爲當前頁面的導航菜單中添加不同的顏色。我想這個解決方案:突出顯示具有共同標題的導航欄中的活動頁面

<?php 
if (strpos($_SERVER['PHP_SELF'], 'about.php')) echo 'class="current"'; 
?> 

該解決方案的工作不錯,但我的問題是,我有一個單獨的頁面的導航欄,當我點擊,結果總是相同INC/common_header.php,而不是當前頁面。

這裏是我的代碼:

common_header.php

<nav class="navigation-bar fixed-top"> 
<nav class="navigation-bar-content"> 
    <a class="element brand" href="/"><span class="icon-grid-view"></span> COMPANY NAME</a> 

    <span class="element-divider"></span> 

    <a class="element brand" href="/"><span class="icon-home"></span> HOME</a> 
    <div class="element"> 
     <a class="dropdown-toggle" href="#"><span class="icon-printer"></span> SERVICES</a> 
     <ul class="dropdown-menu" data-role="dropdown"> 
      <li><a href="#">SERVICE 1</a></li> 
      <li><a href="#">SERVICE 2</a></li> 
      <li><a href="#">SERVICE 3</a></li> 
      <li class="divider"></li> 
      <li><a href="#">SERVICE 4</a></li> 
      <li><a href="#">SERVICE 5</a></li> 
      <li class="divider"></li> 
      <li><a href="#">SERVICE 6</a></li> 
      <li><a href="#">SERVICE 7</a></li> 
     </ul> 
    </div> 

    <div class="element"> 
     <a class="dropdown-toggle" href="#"><span class="icon-printer"></span> CALCULATOR</a> 
     <ul class="dropdown-menu" data-role="dropdown"> 
      <li><a href="calc_home.php">HOME</a></li> 
     </ul> 
    </div> 

    <a class="element brand" href="about.php"><span class="icon-printer"></span> ABOUT</a> 

    <div class="element place-right"> 
     <a class="dropdown-toggle" href="#"><span class="icon-cog"></span> SETTINGS</a> 
     <ul class="dropdown-menu place-right" data-role="dropdown"> 
      <li><a href="#">MY ACCOUNT</a></li> 
      <li><a href="#">MY PRODUCTS</a></li> 
      <li class="divider"></li> 
      <li><a href="#">LOG OUT</a></li> 
     </ul> 
    </div> 
    <span class="element-divider place-right"></span> 
    <button class="element image-button image-left place-right"> USERNAME <img src="img/me.jpg"/></button> 
</nav> 

在此先感謝您的幫助。我會很感激。

回答

0

嘗試改變你的href到about.php並查看它是否有效。例如:

 <ul class="dropdown-menu" data-role="dropdown"> 
     <li><a href="about.php">About</a></li> 
     //etc 

既然這樣你的鏈接去你index.php,這給出了相同的值,PHP_SELF超強,因此決不會同意about.php。至少我能看到這個有限的代碼示例。如果這不起作用,請編輯您的問題以包含$_SERVER['PHP_SELF']的輸出,無論如何這應該給您提供線索。

此外,比較字符串時沒有理由使用strpos;請使用===運算符,該運算符會檢查參數是否相同類型以及它們是否具有相同的值。

+0

謝謝你的回答,但不工作。 – Carlos 2014-11-21 13:32:11

+0

@Carlos $ _SERVER ['PHP_SELF']'的輸出是什麼? – rath 2014-11-21 14:01:22

+0

http://localhost/common_header.php – Carlos 2014-11-21 14:04:29

0

我會假設你的問題是這樣的:

你的頁面的共同部分網站上的一個文件「common_header」(標題)。您在網站的所有頁面中包含該文件'common_header'(例如:家庭,關於,服務,產品,聯繫人)。但是在其中一個頁面(例如:聯繫人)中,並且只在該頁面中,您想要以不同樣式顯示標題。

如果這是你的問題,我的解決辦法是:

你在「common_header頁面使用這個PHP代碼,而不是一個你有:

if(isset($specialPage) && $specialPage == "this is the special page"){ 
    echo 'class="current"'; 
}; 

然後,在您的「聯繫人」頁面(我使用爲例),包括你的頭頁面之前寫:

$specialPage = "this is the special page"; 
include("your header page"); 

同樣地,如果這不是你想要的,我誤解了你的問題深表歉意。

+0

謝謝你的幫助。 Verhaeren,你離我所需要的很近。我在php文件(common_header.php)中有一個導航欄,我有一些頁面(如index.php,about.php,contact.php等),我想要改變導航欄上文本的顏色,具體取決於當前頁面。我的意思是,如果用戶在聯繫人頁面中,則導航欄上的姓名聯繫人應該是紅色的。 問題是,當我使用之前發佈的解決方案($ _SERVER ['PHP_SELF']),我把這個代碼放在common_header.php中,服務器返回的是common_header.php而不是contact.php或index.php。 – Carlos 2014-11-21 12:53:12

相關問題