Активная ссылка с PHP

Я читал много сообщений об этой проблеме, но не смог найти хорошего решения, поэтому мне может понадобиться ваша помощь в этом.

У меня есть index.php, в который включен header.php. Идея заключалась бы в том, что когда я нажимаю на какую-либо другую страницу, например: page2, ссылка в header.php становится активной на соответствующей странице.

Как и любая другая нормальная навигация, должна работать. =)

На данный момент это то, что у меня есть до сих пор, и это не работает. Ты знаешь почему? Не могли бы вы мне помочь, пожалуйста?

Заранее спасибо,

// в index.php у меня есть это:

<body>
<div id="wrapper">
    <!--HEADER-->
    <?php include_once("header.php"); ?>
    <!-- HEADER -->
    <div id="mainContainer">
        <div class="inner-main">
            <!--MAIN-->
            <?php $page = "home"; ?>
            <?php include_once("includes/home.php"); ?>
            <!--MAIN-->
        </div>
    </div><!--mainContainer-->
</div><!--wrapper--></body> 

// Внутри header.php у меня есть следующее:

<div id="header">
<div class="inner-header">
    <div class="top-nav">
        <ul id="nav" class="nav clearfix">
            <li class="<?php echo ($page == "home" ? "selected" : "")?>"><a href="home.php">HOME</a></li>
            <li class="division">&bull;</li>
            <li class="<?php echo ($page == "page2" ? "selected" : "")?>"><a href="page2.php" target="_self">PAGE 2</a></li>
        </ul><!--nav-->
    </div><!--top-nav-->
</div><!--inner-header--></div><!-- header-->

// А что, если я нажму на страницу 2 в верхней панели навигации? Как я могу просмотреть page.php, а также активировать соответствующую ссылку в верхней навигации?


person OrangeJuice    schedule 24.01.2013    source источник


Ответы (1)


Вы должны определить переменную $page перед включением header.php

индекс.php:

<body>
<div id="wrapper">
    <!--HEADER-->
    <?php $page = "home"; ?>
    <?php include_once("header.php"); ?>
    <!-- HEADER -->
    <div id="mainContainer">
        <div class="inner-main">
            <!--MAIN-->

            <?php include_once("includes/home.php"); ?>
            <!--MAIN-->
        </div>
    </div><!--mainContainer-->
</div><!--wrapper--> 
person Ramil Amerzyanov    schedule 24.01.2013
comment
В этом случае $page ВСЕГДА будет домашней. если((!isset($page)) {$page = домашняя страница; } - person Kenzo; 24.01.2013
comment
@Kenzo я имею в виду переопределить переменную $page на каждой странице pageN.php - person Ramil Amerzyanov; 24.01.2013
comment
Рамиль Амр Хорошо, но это было неясно. Вы все равно должны проверить, установлена ​​ли переменная перед ее объявлением. - person Kenzo; 24.01.2013