Содержание

Краткое содержание

4.7. Файл index.php часть 2

Введение

$_GET в PHP — это встроенная суперглобальная переменная (ассоциативный массив), используемая для получения данных, переданных в скрипт через параметры URL-адреса (строку запроса). Данные передаются после знака вопроса ? в формате ключ=значение (например, page.php?id=10), обеспечивая простой способ передачи информации между страницами.
Основные характеристики и примеры:

$_GET автоматически заполняется PHP при каждом запросе, если в URL присутствуют параметры.

Файл index.php

В верхней части добавим массив списока разрешенных к выводу страниц и переменную $page со значение массива страниц меню 'home', 'about' и 'contact'? а так же 'like'

index.php
  1. <?php
  2. include 'pages/footer.php';
  3. $allowed_pages = array('home', 'about', 'contact', 'like');
  4. $page = $_GET['page'] ?? 'home'; // По умолчанию 'home'
  5. ?>

Тут должно быть все понятно, за исключение 'like', ссылку на неё, мы для примерана, расположим в блоке ссылок <aside>
В месте предпологаемого вывода контента, блок <main> разместим код

index.php
  1. <?php
  2. // Получаем значение из URL: index.php?page=home
  3. // Проверьте, находится ли запрошенная страница в списке разрешенных.
  4. if (in_array($page, $allowed_pages)) {
  5. // Безопасно подключить из директории pages/ внешний файл из массива
  6. // ('home', 'about', 'contact', 'like') с расширением .php
  7. include('pages/' . $page . '.php');
  8. } else {
  9. // Обработать некорректный запрос страницы (страница не найдена).
  10. echo 'Искомая страница не найдена.';
  11. }
  12. ?>

Cохраним изменения в файле index.php и обновим страницу браузера с сылкой http://localhost в адресной строке.

переход страниц

Мы получили предупреждение: Warning: include(pages/home.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\index.php on line 14, которое говорит нам о том, что при попытке загрузить поток из файла pages/home.php произошла ошибка. Нет такого файла или каталога в строке 14 нашего кода.
Это в полной мере закономерно, так как в директории /pages файла home.php не существует и его мы создадим в следующем разделе данного руководства…

Дополнения и Файлы

см. также: