Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含在PHP文件中的变量信息_Php_Html_Menu_Include_Code Duplication - Fatal编程技术网

包含在PHP文件中的变量信息

包含在PHP文件中的变量信息,php,html,menu,include,code-duplication,Php,Html,Menu,Include,Code Duplication,目前,我正在使用一个带有我网站页脚的PHP文件,这样我就可以在每个页面上包含它,并只更改一个文件来更改网站每个页面上的页脚 现在,我想对我网站上的菜单做同样的操作,如下所示: <ul> <li><a href="#">Menu 1</a></li> <li><a href="#" class="active">Menu 2</a></li> <li><a href="#"

目前,我正在使用一个带有我网站页脚的PHP文件,这样我就可以在每个页面上包含它,并只更改一个文件来更改网站每个页面上的页脚

现在,我想对我网站上的菜单做同样的操作,如下所示:

<ul>
<li><a href="#">Menu 1</a></li>
<li><a href="#" class="active">Menu 2</a></li>
<li><a href="#">Menu 3</a></li>
<li><a href="#">Menu 4</a></li>
</ul>
活动类突出显示用户所在页面的名称,因此如果用户位于网站的“菜单2”页面,则会突出显示“菜单2”。现在我想知道如何将这个菜单放在一个单独的文件中,比如“menu.php”,我可以将它包含在每个页面中,但仍然可以将class=“active”更改为用户所在的页面

$open_page = substr($_SERVER["SCRIPT_NAME"], strrpos($_SERVER["SCRIPT_NAME"],"/")+1);


好吧,根据您在页面中的导航方式,您将看到类似
mydomain.com\index.php?page=您在哪里

然后,您可以访问
$\u GET['page']
(甚至在您的footer.php中),以确定您在哪个页面上,以及是否正确匹配class=active


我不建议使用全局变量来解决此问题。

与文件名相比不是最佳做法&当项目变得繁重时,维护起来很困难。

从页面调用页脚并传递页面标识符-

------ Menu1_page.php --------    
<?php
    require_once 'footer.php';
    getFooter('Menu1');
?>
----Menu1\u page.php----
在footer.php中,将页脚保留在函数中

---- footer.php -----
<?php
function getFooter($activeid){
   ?>
      <ul>
      <li><a href="#" class="<?=($activeid=='Menu1')?'active':''?>">Menu 1</a></li>
      <li><a href="#" class="<?=($activeid=='Menu2')?'active':''?>">Menu 2</a></li>
        ......
      </ul>
   <?php
}
?>
----footer.php-----
  • ......

我正在为此使用全局变量。我不喜欢在代码中嗅探
$\u GET
。变量中缺少
$
,否则这是我解决此问题的首选方法。
---- footer.php -----
<?php
function getFooter($activeid){
   ?>
      <ul>
      <li><a href="#" class="<?=($activeid=='Menu1')?'active':''?>">Menu 1</a></li>
      <li><a href="#" class="<?=($activeid=='Menu2')?'active':''?>">Menu 2</a></li>
        ......
      </ul>
   <?php
}
?>