Внешний вид пунктов меню создан, но при нажатии не происходит изменения внешнего вида страницы. При переходах по разделам сайта в адресной строке изменяется значение параметраid в GET-запросе.
Например, при переходе в раздел Товары это значение равно единице(см. рис. 9.10).
Рис. 9.10
Задача:В файле lib.phpсоздать функцию для обработки значения из адресной строки с получением значения параметра id.Функция должна возвращать возможные значения: 0,1,2,3–где 1,2,3 значения параметраid, в любом другом случае возвращается 0
Для этого в среде разработки Eclipseдля PHP, в нижней части файла lib.php добавим программный код:
// Получение номера раздела меню
function getIdMenu()
{
// Результат
$tmp=0;
// Если есть данные вGET-запросе
if ($_GET)
{
// Если параметр: id имеет значение вGET-запросе
if ($_GET["id"])
{
// Получаем значение параметра: id
$tmp = $_GET["id"];
}
// Если это значение не лежит в интервале [1..3],
// то записываем нулевое значение в$tmp
if (!(($tmp>=1)&&($tmp<=3))) $tmp=0;
}
// Возвращаем значение из функции
return $tmp;
}
С обработкой параметровGET-запроса мы уже работали. Функция возвращает результат в переменной $tmp. Если возвращаемое значение будет равно нулю, то будет осуществляться переход на главную(домашнюю) страницу.
Проверим работу этой функции –для этого в самом верху в файле index.php добавим вывод результата функции getIdMenu() (см.рис. 9.11):
Рис. 9.11
В браузере выполним переход в каждый из четырех разделов и убедимся, что сверху страницы выводятся правильные цифры: 0,1,2,3 (см.рис. 9.12):
Рис. 9.12
Сравнивайте эту цифру со значением параметра id в адресной строке браузера.
Удалим строку для тестирования функции.
На данный момент в центральной части страницы всегда выводится описание товаров. Применим протестированную функцию и сделаем так,чтобы описание товаров выводилось только при выборе раздела Товары. В файле index.php найдем PHP-вставку с выводом описания товаров. Внесем изменения,получится:
<div id="sheet2">
<?php
// Получаем номер раздела меню
$id_menu = getIdMenu();
if ($id_menu==1) // Если номер: 1 -Товары
{
// Выводим описание товаров
makeOpisan();
}
?>
</div>
В переменную $id_menu запишем информацию о текущем разделе сайта и выводим описание товаров, если выбран раздел Товары.
Посмотрим на результат в браузере. Видим, что при нажатии на пункты меню - описание товаров выводится только в нужном разделе.