0

直到今天我一直在使用以下功能

function menu_active($pagename)
{
    $active = basename($_SERVER['PHP_SELF'], ".php");
    if ($active === $pagename) echo "id='active' ";
}


And in HTML
<?php menu_active('page_name'); ?>

检测哪个页面处于活动状态以将其标记为当前页面,但是当我更改页面显示方法时它不再起作用。所以我想知道如何更改功能以使其工作。我试图在下面的脚本中声明$pagenamefilename.inc.php但没有用。

我正在使用这个脚本来显示页面

$pages_dir = 'pages';
if (!empty($_GET['p'])) 
{
    $pages = scandir($pages_dir, 0);
    unset($pages[0], $pages[1]);

    $p = $_GET['p'];

    if (in_array($p . '.inc.php', $pages)) 
    {
        include ($pages_dir . '/' . $p . '.inc.php');
    } 
    else 
    {
        echo 'Error';
    }
} 
else 
{
    include ($pages_dir . '/home.inc.php');
}

我感谢任何有关如何正确执行此操作的帮助、反馈或逻辑和想法。

4

1 回答 1

1

不要检查哪个脚本正在运行,而是检查$_SERVER['REQUEST_URI']。这将为您提供客户端请求的相对 URL。

于 2013-07-09T17:37:46.290 回答