两页一导航

时间:2014-04-22 17:28:23

标签: php html css

我正在处理两个包含导航菜单的页面。我遇到的问题是显示哪一个是活动的。现在,即使我在图表中,Rapport仍然保持活跃状态​​。我注意到$ page总是返回Rapport,我不知道为什么。

在图表(index.php)中我有:

include('../rapport/navigasjon.html'); 
 $page = 'diagram';
 $_SESSION['diagram']= $page;

在rapport(index.php)中我有:

include('navigasjon.html');
$page = 'rapport';
$_SESSION['rapport']= $page;

在navigasjon.html中我有:

session_start();
$page = $_SESSION['diagram'];
 $page =  $_SESSION['rapport'];

   <li  class='pil <?php if($page=='rapport') {echo 'active';} ?>'> <a href="../rapport/index.php" class='rapport' >Rapport</a></li> 
   <li  class='pil <?php if($page=='diagram') {echo 'active';} ?>' ><a href="../diagram/index.php" class='diagram' >Diagram</a></li>  

2 个答案:

答案 0 :(得分:2)

设置$page变量BEFORE包括您的导航:

diagram / index.php:

$page = 'diagram';
$_SESSION['diagram']= $page;
include('../rapport/navigasjon.html');

和rapport / index.php:

$page = 'rapport';
$_SESSION['rapport']= $page;
include('navigasjon.html');

在navigasjon.html中删除以下行:

$page = $_SESSION['diagram'];
$page =  $_SESSION['rapport'];

答案 1 :(得分:0)

如果您尝试将类设置为活动菜单,可以使用目录名尝试此操作。

&lt;?php
$pathInfo = pathinfo($_SERVER['PHP_SELF']);
$page = strtolower(end(explode('/', $pathinfo['dirname'])));
?>

&lt;li  class='pil &lt;?php if($page=='rapport') {echo 'active';} ?>'> &lt;a     href="../rapport/index.php" class='rapport' >Rapport&lt;/a>&lt;/li> 
&lt;li  class='pil &lt;?php if($page=='diagram') {echo 'active';} ?>' >&lt;a href="../diagram/index.php" class='diagram' >Diagram&lt;/a>&lt;/li>