$_GET в PHP — это встроенная суперглобальная переменная (ассоциативный массив), используемая для получения данных, переданных в скрипт через параметры URL-адреса (строку запроса). Данные передаются после знака вопроса ? в формате ключ=значение (например, page.php?id=10), обеспечивая простой способ передачи информации между страницами.
Основные характеристики и примеры:
$_GET автоматически заполняется PHP при каждом запросе, если в URL присутствуют параметры.
В верхней части добавим массив списока разрешенных к выводу страниц и переменную $page со значение массива страниц меню 'home', 'about' и 'contact'? а так же 'like'
<?php include 'pages/footer.php'; $page = $_GET['page'] ?? 'home'; // По умолчанию 'home' ?>
Тут должно быть все понятно, за исключение 'like', ссылку на неё, мы для примерана, расположим в блоке ссылок <aside>
В месте предпологаемого вывода контента, блок <main> разместим код
<?php // Получаем значение из URL: index.php?page=home // Проверьте, находится ли запрошенная страница в списке разрешенных. // Безопасно подключить из директории pages/ внешний файл из массива // ('home', 'about', 'contact', 'like') с расширением .php include('pages/' . $page . '.php'); } else { // Обработать некорректный запрос страницы (страница не найдена). echo 'Искомая страница не найдена.'; } ?>
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 не существует и его мы создадим в следующем разделе данного руководства…