2011-12-24 12 views
0

私はすべてのファイルからのナビゲーション部分を削除し、次のようにnav.phpファイルの内容がある選択時にナビゲーションアイテムをアクティブにする方法はありますか?

include ('includes/nav.php'); 

として、必要な場所でそれを呼び出した後、nav.phpという名前の別のファイルに保存しています:

<ul> 
     <li<?php if ($thisPage=="http://www.finalyearondesk.com") 
      echo " class=\"selected\""; ?>> 
       <a href="http://www.finalyearondesk.com">Home</a></li> 

     <li<?php if ($thisPage=="http://www.finalyearondesk.com/contact.php") 
      echo " class=\"selected\""; ?>> 
       <a href="http://www.finalyearondesk.com/contact.php">Contact US</a></li> 

     <li<?php if ($thisPage=="http://www.finalyearondesk.com/downloads.php") 
      echo " class=\"selected\""; ?>> 
       <a href="http://www.finalyearondesk.com/downloads.php">Downloads</a></li> 
</ul> 

しかし、問題は、そのページが訪問されたときに選択された現在のアイテムを取得できないことです。 私のコードに何が間違っていますか?

+0

var $ thisPageは何ですか? –

+0

私は3ページを表示する必要があります。 –

答えて

0

を割り当てていないので、

include ('includes/nav.php'); 

はあなたが割り当てされていない、あなたの行の前にそれがあるべき値を$ thisPageに設定します。 nav.phpのulの前に次のコードを追加してください

<?php 
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') 
       === FALSE ? 'http' : 'https'; 
$host  = $_SERVER['HTTP_HOST']; 
$script = $_SERVER['SCRIPT_NAME']; 

$thisPage = $protocol . '://' . $host . $script; 
?> 
+0

ありがとう、それは働いた、私は前にこれを知らなかった。 –

0

を確認して、あなたは$ thisPageに完全なURLを割り当てているし、あなたのniv.phpにあなたは$ thisPage

関連する問題