2013-10-20 122 views
0

我想爲網站製作導航欄。我必須使用foreach循環來顯示不同的頁面。但是,每當我試圖顯示他們,他們不鏈接的網頁和他們表現出錯誤的文字。這裏是代碼:通過foreach循環顯示文本php

<?php 
//Main Navigation Function 
function main_nav(){ 
$nav_sections = array("home"=>"","products"=>"products/","services"=>"services/", 
        "about"=>"about/", "contact"=>"contact/"); 
$output = "<UL>"; 
$i=0; 

foreach($nav_sections as $nav){ 
    $output .= "<LI><A href=" . URL_ROOT . $nav . "></A>" . $nav . "</LI>"; 


} 
echo $output; 
} 
?> 

URL_ROOT是定義一個常數,讓根URL,但它不是鏈接通過文本的頁面。這是目前該網站顯示:http://tomcat.cit.iupui.edu/gaddough/cit21500/assignment4/

+1

的'了'標籤是空的... – PeeHaa

回答

1

你(正確)設置你的數組作爲鍵值對,這意味着你會通過它必須環路這樣的:

foreach($nav_sections as $title => $link) { 
    $output .= "<li><a href=" . URL_ROOT . $link . ">" . ucfirst($title) . "</a></li>" . PHP_EOL; 
} 

ucfirst()品牌該單詞或句子的第一個字母大寫。

此外,在當前的迴路打開並沒有給予任何的文本到它(關閉錨(鏈接),即有<a href...></a>之間沒有

末點:你要呼應$output要麼<ul><ol>標籤,你的反間$i是多餘的在這個特殊的片段。

+0

謝謝!$ i變量只是有從我瞎搞試圖弄明白,哈哈,我得到了這部分工作正常。現在,當我點擊鏈接去特定頁面它克給我一個錯誤: 警告:require(config.php):未能打開流:在第4行/home/gaddough/cit21500/assignment4/products/index.php中沒有這樣的文件或目錄警告:require(config。 php):未能打開流:沒有這樣的文件或目錄在/home/gaddough/cit21500/assignment4/products/index.php在第4行 – user2220653

+0

它看起來像在config.php文件的子文件夾內,這是出在我的主根文件夾中。任何想法如何解決這個問題?代碼: <?php // products index file require('config.php'); $ page_title =「產品」; $輸出=「Lorem存有悲坐阿梅德,consectetur adipiscing ELIT .... 包括( '/家庭/ gaddough/cit21500/assignment4 /視圖/的template.php');? > – user2220653

+0

那麼,它依賴包括這個config.php在內有多方面,最直接的方法是簡單地改變包含路徑,例如從require('config.php')到require('../ config.php'),但是取決於你的項目結構,這很容易變得有點難以維護,一個「更好」的方法可能是讓一個頁面處理這個配置文件和你的子頁面,例如index.php有一個菜單和一個開關($ page ),其中包括'pages/some_page.php'。 – lfk