2010-08-19 32 views
0

可我知道如何設置活動菜單,頁面類似page.php?name=about腓獲得當前活動類的菜單

$a = basename($_SERVER['SCRIPT_NAME']); 

<li<?php if ($a == 'page.php?name=about'){?> class="active"<?php }?>><a href="<?php echo $url; ?>/page.php?name=about" title="About">About</a></li> 

我的課程會在page.php?name=about

不活躍,而我可以知道如何解決它?

回答

1

你正在尋找:

$_GET['name'] 

的$ _GET超全局是你如何從查詢字符串變量的訪問。

$class = ($_GET['name'] == 'about' ? "active" : ""); 
echo "<li class=\"$class\">"; 
+0

謝謝Fosco ..我在這裏有兩個選擇。 BTW $ _GET ['name']是否需要消毒? – delicious 2010-08-19 19:29:48

+0

如果您沒有在數據庫查詢中使用它,我不明白爲什麼要對它進行清理。 – Fosco 2010-08-19 19:47:23

0

更改,如果條件:if ($a == 'page.php' && $_GET['name'] == 'about')

0

$_SERVER['SCRIPT_NAME']只給你的腳本的名稱。參數不包括在內。您需要使用$_GET陣列來獲取參數(或者如果他們以這種方式來到$_POST)。試試這個:

<li<?php if ($_GET['name'] == 'about'){?> class="active"<?php }?>><a href="<?php echo $url; ?>/page.php?name=about" title="About">About</a></li> 
0

你$的定義將需要如下的工作,你打算

$a = $_SERVER['SCRIPT_NAME'].'?name='.$_GET['name']; 
<li<?php if ($a == '/page.php?name=about'){?> class="active"<?php }?>><a href="<?php echo $url; ?>/page.php?name=about" title="About">About</a></li> 

或者,你可以只使用

if ($_SERVER['SCRIPT_NAME']=='/page.php') 
    $a=$_GET['name']; 

<li<?php if ($a == 'about'){?> class="active"<?php }?>><a href="<?php echo $url; ?>/page.php?name=about" title="About">About</a></li> 
0

嘗試......

<li><a href="page.php" 
    <?php if(strpos(basename($_SERVER['REQUEST_URI']),'page.php')=='page.php'){ 
     echo' class="active"';} 
    ?> ><!-- end of opening 'a' element --> 
    About</a></li>