Как правильно сгенерировать ссылки для пунктов меню и вывести страницы? По ходу изучения ООП начал писать небольшой сайт по видеокурсу. Со временем появились небольшие проблемы, но больше всего меня интересует как правильно вывести страницы меню. По курсу предлагался код абстрактного класса:get_header();
$this->get_sidebar();
$this->get_content();
}
abstract function get_content();
}
?> Файл индекса: get_body();
} else {
echo "Страница не найдена!";
}
} else {
echo "Страница не найдена!";
}
?> И сам файл, где находится меню, в нем и генерируются ссылки:

Навигация

Главная";
for($i = 0;$i %s", $row['href_menu'], $row['name_menu']);
}
echo "

";
?> Ссылки сгенерированы и вроде правильно, но по курсу надо в бд в таблице меню надо добавить поле "содержимое" и скрипт будет из него выбирать его и выводить на страницу по сгенерированой ссылке. По курсу все страницы меню однотипны, но мне надо для каждой страницы разные данные и их верстка. Инклудить страницы, думаю, неправильно... Гугли много, но найти ответа на этот вопрос не мог. Есть идеи изменить код самого класса func и в соответствии с ним как-нибудь сделать вывод страницы с меню, но сомневаюсь, что получится.
Вот сам код класса menu:
Может через конструкцию return передать в индексный файл "$Page = new $page;"?

21 Авг 2019 в 07:06
193 +1
0
Ответы
1

Да, можно внести следующие изменения в класс menu:

class menu extends func {
public function get_content() {
$page = $_GET['page'];
$page = trim($page);
$page = htmlspecialchars($page);
$page = strip_tags($page);
$query = "SELECT name_menu, content FROM menu WHERE href_menu = '$page'";
$result = @mysql_query($query);
if(!$result) {
echo "Ошибка запроса в БД!";
}
$row = array();
$row = @mysql_fetch_array($result, MYSQL_ASSOC);
if(!empty($row['name_menu'])) {
// Возвращаем содержимое страницы
return $row['content'];
} else {
echo "Страница не найдена!";
}
}
}

Затем в индексном файле вы можете использовать возвращенное содержимое страницы для вывода:

// После $Page->get_body(); в индексном файле
$content = $Page->get_content();
if($content) {
echo $content;
} else {
echo "Страница не найдена!";
}

Таким образом, вы сможете получить содержимое страницы из базы данных и вывести его на страницу. Важно убедиться, что содержимое страницы возвращается корректно и безопасно используется на странице.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир