2012-11-08 25 views
-1

這是我的PHP代碼菜單與選擇。 它的工作有錯誤,請幫助我。注意:未定義的開關數組中的偏移量錯誤

CODE

<?php 
          $page_url = array(); 
          $page_url[0]= "/bookslibrary.net/index.php"; 
          $page_url[1]= "/bookslibrary.net/about.php"; 
          $page_url[2]= "#"; 
          $page_url[3]= "/bookslibrary.net/become-member.php"; 
          $page_url[4]= "#"; 
          $page_url[5]= "/bookslibrary.net/contact.php"; 

          $page_urlActive = array(); 
          $css_active = "class='active'"; 

          switch ($_SERVER['PHP_SELF']) 
          { 
           case $page_url[0]: $page_urlActive[0] = $css_active; break; 
           case $page_url[1]: $page_urlActive[1] = $css_active; break; 
           case $page_url[2]: $page_urlActive[2] = $css_active; break; 
           case $page_url[3]: $page_urlActive[3] = $css_active; break; 
           case $page_url[4]: $page_urlActive[4] = $css_active; break; 
           case $page_url[5]: $page_urlActive[5] = $css_active; break; 
          } echo (" 
           <li $page_urlActive[0] ><a href='".$page_url[0]."'>Home</a></li> 
           <li $page_urlActive[1] ><a href='".$page_url[1]."'>About</a></li> 
           <li $page_urlActive[2] ><a href='".$page_url[2]."'>Books of the Month</a></li> 
           <li $page_urlActive[3] ><a href='".$page_url[3]."'>Become a Member</a></li> 
           <li $page_urlActive[4] ><a href='".$page_url[4]."'>Ahlus-Sunnah</a> 
            <ul> 
             <li><a href='#'>Web Directory</a></li> 
             <li><a href='#'>Add Your Website</a></li> 
            </ul> 
           </li> 
           <li $page_urlActive[5] ><a href='".$page_url[5]."'>Contact</a></li> 
          "); 
         ?> 

ERROR

注意:未定義偏移量:在(... FILE_PATH ...)的header.php 1在線路34上

+0

沒有線路34時發佈的代碼和行參考,做一些突出線。像代碼評論一樣。 –

+0

第34行是:

  • About
  • +0

    您是否檢查'$ page_urlActive [1]'是否在事實集? –

    回答

    0

    $page_urlActive您的$page_urlActive只包含一個項目,一個關鍵取決於您所在的頁面。而你正試圖呼應所有索引的元素,你可以通過initializng陣列的所有索引擺脫這種通知:

    $page_urlActive = array_fill(0, 6, ''); 
    
    +0

    非常感謝。 –

    +0

    問題已根據您的建議解決。 –

    0

    的問題是可能不會根據活動頁面設置$page_urlActive的特定索引(0-5)。

    更好的方法是重構代碼以遍歷$page_url數組。在循環測試中,如果當前的$page_url等於請求的頁面。如果是,則輸出適當的class屬性。這將刪除大量不必要的代碼(例如switch$page_urlActive)。

    雖然我提倡簡潔的代碼,在這一天結束,這僅僅是一個通知而不是硬性錯誤

    +0

    現在我該怎麼辦? –