2010-08-19 28 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>