PHP:如何检查哪个导航栏点是活动的?

时间:2016-12-30 14:00:14

标签: php menu

我必须检查菜单中哪个列表点处于活动状态,我想知道php中是否有方法?

<span i class="fa fa-link fa-lg">
    <input id="product" type="text" placeholder="Product" required/>            
</span>
<br><br>
<span i class="fa fa-desktop fa-lg">
    <input id="desktop" type="text" placeholder="Desktop" required/>            
</span>

那么如何检查a是活动的还是b或c等?

在我的示例中,我的意思是,如何为<ul class="menu"> <li class="a">...</li> <li class="b">...</li> <li class="c">...</li> </ul> 提供<li>,但只提供此{。}}。

2 个答案:

答案 0 :(得分:0)

在紧要关头你可以通过php会话完成这项工作,只需在菜单切换时设置一个变量。

会话变量应该设置在它正在使用的任何页面的顶部附近,这样PHP就可以在页面上加载菜单之前识别它。

这是一个灵感的小片段,你可以用很多不同的方式做到这一点。

<?
session_start();

if(isSet($_GET['switch'])) {
    $_SESSION['menuPage'] = $_GET['switch'];
}
$menuPage = $_SESSION['menuPage'];

echo $menuPage."<br>";

?>

<ul class="menu">
    <li <? if(strcmp($menuPage,"a") == 0) { echo "active"; } ?> class="a"><a href="?switch=a">A</a></li>
    <li <? if(strcmp($menuPage,"b") == 0) { echo "active"; } ?> class="b"><a href="?switch=b">B</a></li>
    <li <? if(strcmp($menuPage,"c") == 0) { echo "active"; } ?> class="c"><a href="?switch=c">C</a></li>
</ul>

注意:您希望使用会话而不是普通变量,以便菜单的$ _GET不必经常出现在URL中。

答案 1 :(得分:0)

您可能需要查看$_SERVER变量,更具体地说是$_SERVER['REQUEST_URI']。这会显示请求的URL。基于此,您可以检查哪个菜单项应该是活动的。