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

