Доброго времени! Столкнулся с проблемой: есть несколько каталогов в дереве сайта. основная страница "site/index.php, на ней выводится 5 материалов из каталога "site/content/" в коде каждой лежит include_once 'menu.php'; "site/includes/", которое выводит меню на страницах. Работает отлично. Начинаю углубляться в каталоги, например: материал "Контакты" имеет 5 ссылок, материал которых находится в каталоге "site/content/client/" и указывая include_once 'menu.php'; - ничего нету, только наполнение страницы, в коде пустое место! Попробовал добавить к include_once $_SERVER['DOCUMENT_ROOT']. - после чего все заработало, но! теперь все ссылки из меню абсолютны тому каталогу, в котором находится страница...
Я перечитал уже по несколько раз и документацию и гугл... нет ниодного нормального примера по моему вопросу... я уже и абсолютный адрес писал! Что то не так, а понять я не могу! На форум я пишу только в крайнем случае, когда совсем туго. Потому и прошу помощи не ссылками, а банальным примером!
@TyronNIKO тогда делай отладку, вместо вызова include выводи путь и смотри если он правильный. сделай эксперименты, включи отображение ошибок, там будет подсказка какой файл PHP пытается подключить и не выходит. там всё очень просто, нужно осилить логическую цепочку. пример с document_root очень хороший, ты можешь для простоты всегда начинать отсчёт от него, ну и перепроверь если он правильный
Включил, поисправлял все ошибки, чуток переделал все и....! Почему находясь на главной странице у меня меню впорядке, но перейдя на страницу по ссылке - в сылках меню дописывается каталог в котором находится страница? В этом была проблема изначально... вот такой код выводит пункты меню: Код (Text): $menuList = array( 'content/services.php' => 'Услуги', 'content/promotions.php' => 'Акции', 'content/social.php' => 'Благотворительность', 'content/about.php' => 'Онас', 'content/clients.php' => 'Для клиентов', ); <?php foreach($menuList as $menuId => $menuName){ echo "<li><a href=\"$menuId\">$menuName</a></li>"; } ?>
Слэш перед content поставь. --- Добавлено --- А ещё лучше добавь в цикл /content/, а в массиве оставь только имена файлов.
Когда ты тыкал или смотрел на не правильные ссылки, то нужно было посмотреть их путь в HTML коде и сравнить с тем куда они ведут если на них нажать, имея эти два пути, сесть и прочитать http://phpfaq.ru/newbie/paths при этом вникая где там расписан твой случай, там не зря пишут о двух понятиях, это ссылки в браузере и путь в файловой системе, разные вещи, но есть кое что одинаковое и это надо учитывать. отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550