Php获取菜单的当前活动类

时间:2010-08-19 19:05:03

标签: php html

我可以知道如何将活动菜单设置为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

时无效

我可以知道如何解决它吗?

5 个答案:

答案 0 :(得分:1)

你正在寻找:

$_GET['name']

$ _GET超全局是如何从查询字符串中访问变量的。

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

答案 1 :(得分:0)

将if条件更改为:if ($a == 'page.php' && $_GET['name'] == 'about')

答案 2 :(得分: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>

答案 3 :(得分:0)

您的$ a定义需要如下所示才能按预期工作

$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>

答案 4 :(得分: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>