0
Я пытаюсь дать активному пункту меню другой цвет, но цвет остается в первом пункте меню (Главная). Я уже включил активный класс в мой css.Как с нами связаться в цикле foreach
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'on');
$menu = array(
array('text' => 'Home', 'link' => 'index.php', 'target' => NULL),
array('text' => 'Contact', 'link' => 'contact.php', 'target' => NULL),
array('text' => 'Video', 'link' => 'video.php', 'target' => NULL),
array('text' => 'Thema', 'link' => 'thema.php', 'target' => NULL),
array('text' => 'Numbers', 'link' => 'numbers.php', 'target' => NULL),
array('text' => 'Login', 'link' => 'login.php', 'target' => NULL),
array('text' => 'Logout', 'link' => 'indexlogout.php', 'target' => NULL),
array('text' => 'Links', 'link' => 'links.php', 'target' => NULL),
array('text' => 'Image Maps', 'link' => 'imagemap.php', 'target' => NULL)
);
function makeMenu($menu){
$current_page = substr($_SERVER['REQUEST_URI'], 1);
$current_page = str_replace('.php', '', $current_page);
echo '<ul>';
foreach ($menu as $key => $value){
if($current_page == $key){
echo '<li><a class="active" href="'.$value['link'].'" target="'.$value['target'].'">'.$value['text'].'</a></li>';
}
else {
echo '<li><a href="'.$value['link'].'" target="'.$value['target'].'">'.$value['text'].'</a></li>';
}
}
echo '</ul>';
}
makeMenu($menu);
?>
'$ key' или' $ значение [ 'текст'] '??, я думаю, что' если ($ CURRENT_PAGE == $ key) {'должен быть' if ($ current_page == $ value ['text']) {' – devpro
так что есть в вашем REQUEST_URI? Вы сравниваете это с '$ key', который является чисто числовым значением. ваши страницы ДЕЙСТВИТЕЛЬНО называются '0.php',' 1.php' и т. д.?? –
Ваша $ current_page пытается равным «text» ($ key) попытаться сделать это $ current_page == $ value –