Инструменты пользователя

Инструменты сайта


software:development:demo:cms:ucms:sample_php_page_index_part_2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
software:development:demo:cms:ucms:sample_php_page_index_part_2 [2026/02/08 17:51] – создано VladPolskiysoftware:development:demo:cms:ucms:sample_php_page_index_part_2 [2026/02/08 22:03] (текущий) – [Введение] VladPolskiy
Строка 1: Строка 1:
-4.7. Файл index.php часть 2+<note page> 
 +{{:icons:16:arrow-transition-180.png?|}}  
 +**[[software:development:demo:cms:ucms:ucms_table_of_contents | Краткое содержание]]** 
 +</note> 
 +====== 4.7. Файл index.php часть 2 ====== 
 +  * [[software:development:demo:cms:ucms:sample_html5_and_dinamic_page|Глава 4.0. Шаблон HTML и динамические страницы]] 
 +    * [[software:development:demo:cms:ucms:sample_html5_page|4.1 Шаблон HTML5]] 
 +    * [[software:development:demo:cms:ucms:sample_php_page_and_dinamic_page|4.2 Шаблон PHP и динамические страницы]] 
 +    * [[software:development:demo:cms:ucms:sample_php_page_sample|4.3. Файл sample.html]] 
 +      * [[software:development:demo:cms:ucms:sample_php_page_style_css|4.3.1. Файл style.css]] 
 +      * [[software:development:demo:cms:ucms:sample_php_page_scripts_js|4.3.2 Файл scripts.js]] 
 +    * [[software:development:demo:cms:ucms:sample_php_page_index|4.4. Файл index.php часть 1]] 
 +    * [[software:development:demo:cms:ucms:sample_php_page_header|4.5. Файл header.php]] 
 +    * [[software:development:demo:cms:ucms:sample_php_page_footer|4.6. Файл footer.php]] 
 +    * [[software:development:demo:cms:ucms:sample_php_page_index_part_2|4.7. Файл index.php часть 2]] 
 +      * [[software:development:demo:cms:ucms:sample_php_page_home.php|4.7.1 Файл home.php]] 
 +      * [[software:development:demo:cms:ucms:sample_php_page_about.php|4.7.2 Файл about.php]] 
 +      * [[software:development:demo:cms:ucms:sample_php_page_contact.php|4.7.3 Файл contact.php]] 
 +===== Введение ===== 
 +**%%$_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'%%** 
 +<code php index.php [enable_line_numbers="true"]> 
 +<?php 
 +include 'pages/footer.php'; 
 +$allowed_pages = array('home', 'about', 'contact', 'like'); 
 +$page = $_GET['page'] ?? 'home'; // По умолчанию 'home' 
 +?> 
 +</code> 
 +Тут должно быть все понятно, за исключение **%%'like'%%**, ссылку на неё, мы для примерана,  расположим в блоке ссылок **%%<aside>%%** 
 +\\   
 +В месте предпологаемого вывода контента, блок **%%<main>%%** разместим код  
 + 
 +<code php index.php [enable_line_numbers="true"]> 
 +<?php 
 +// Получаем значение из URL: index.php?page=home 
 +// Проверьте, находится ли запрошенная страница в списке разрешенных. 
 +if (in_array($page, $allowed_pages)) { 
 +// Безопасно подключить из директории pages/ внешний файл из массива 
 +// ('home', 'about', 'contact', 'like') с расширением .php 
 +include('pages/' . $page . '.php'); 
 +} else { 
 + // Обработать некорректный запрос страницы (страница не найдена). 
 + echo 'Искомая страница не найдена.'; 
 +
 +?> 
 +</code> 
 +Cохраним изменения в файле **index.php** и обновим страницу браузера с сылкой http://localhost в адресной строке. 
 +<note shadow>{{:software:development:demo:cms:ucms:index_php_js_14.png|переход страниц}}</note> 
 +Мы получили предупреждение: **%%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** **не существует** и его мы создадим в следующем разделе данного руководства...
 ===== Дополнения и Файлы ===== ===== Дополнения и Файлы =====
 см. также: см. также:
software/development/demo/cms/ucms/sample_php_page_index_part_2.1770562275.txt.gz · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki