sonyps4.ru

Многоуровневое меню на php. Многоуровневое меню на PHP и MySQL

В фотошопе есть прекрасная опция "Раскладка изображения", которая хорошо подходит для создания дизайнерского портфолио. Эта команда генерирует страницы с фреймами, отведёнными под фотоснимки. Таким образом очень удобно представлять Ваши работы имеющимся или потенциальным клиентам. Эта команда недаром располагается в меню - "Файл - автоматизация", так как она помогает значительно экономить время при создании своей презентации.

В этом уроке по работе с фотошопом мы создадим от начала до конца один лист электронного фотоальбома.

Перейдём в окно настройки нашего фотоальбома - "Файл - Автоматизация - Ракладка изображения".

В открывшемся окне никаких настроек не меняем, а просто нажимаем на "Edit Layout" (Изменить (редактировать) макет).

В появившемся окне Picture Package Edit Layout (Изменить макет пакета изображений) прежде всего нажимаем на кнопку Delete All, чтобы удалить предыдущий макет, Затем в поле Name выбираем имя будущего макета, в поле Page Size выбираем его размер, ставим галочку Snap to, чтобы на поле будущего макета появилась сетка (для удобства размещения фотографий) и наконец нажимаем на Add Zone (Добавить зону).

В поле, расположенном в правой части окна, появляется фрейм, потянув за угловые маркеры которого,мы растягиваем его на всё поле.

После этого мы опять нажимаем на кнопку Add Zone (Добавить зону), опять появляется фрейм. Используя его маркеры мы устанавливаем необходимый размер и перетаскиваем на нужное место.

Чтобы каждый раз не нажимать на Add Zone (Добавить зону), щёлкните внутри первого фрейма правой кнопкой мыши и выберите Duplicate, появится второй фрейм, перетащите его на новое место, при необходимости за маркеры подрегулируйте его размеры. Если в списке выбрать Delete, то мы удалим фрейм.

Я создал шесть фреймов и расположил их как показано на скриншоте. Теперь нажимаем на кнопку Save.

Появляется окно в котором мы должны дать имя нашему фотоальбому (по умолчанию открывается папка Photoshop - Layouts). Нажимаем на кнопку "Сохранить".

Появляется основное окно, которое открывалось в самом начале, где представлен Ваш дизайн - Picture Package (Раскладка изображения). В нём устанавливаем разрешение 300 pixels/inch и снимаем галочку в поле Flatten All Layers (Объединить все слои). Щёлкаем по первому фрейму, где будет располагаться наша фотография.

В появившемся окне находим на компьютере фотографию, выделяем её и нажимаем "Открыть".

После того, как Вы разместили все свои изображения, нажмите кнопку OK.

Программа некоторое время будет работать, а потом в окне фотошопа Вы увидите почти готовый лист своей презентации.

Давайте придадим этому листу более дизайнерский вид. Во-первых, напишем что мы изобразили на нём. Выберем инструмент "Текст" (Т), установим примерно такие параметры (у Вас они будут естественно своими).

Напишем что-то подобающее нашему событию. Чтобы текст смотрелся немного получше придайте ему какой-нибудь стиль. Для этого достаточно открыть палитру "Стили" и щёлкнуть на любом подобающем стиле.

Во-вторых, наложим на нижний слой подходящий градиент, для чего сделаем его активным.

Выберем инструмент линейный "Градиент" (G), щёлкнем по стрелочке справа от поля редактирования градиента и в появившемся списке щёлкнем по подходящему по стилю градиенту.

Проведём градиентом, к примеру, слева направо. Вот что у нас получилось. (Вы можете выбрать совсем другой градиент или просто залить основной цвет какой-нибудь текстурой или цветом и т.д. и т.п., поле для творчества очень большое).

Появится окно "Стиль слоя", в котором я выбрал следующие вкладки и установил в них определённые значения (Вы, как всегда, устанавливаете что Вам по вкусу) - Тень, Внутренняя тень, Тиснение, Обводка.

Вот что у меня получилось.

Перенесём получившиеся стили слоя на остальные фотографии. Для чего щёлкаем правой кнопкой мыши по слою уже с имеющимся стилем слоя и в появившемся списке выбираем "Скопировать стиль слоя".

Выделяем все другие слои, которые ещё не имеют стиля слоя, за исключением нижнего слоя, текстового слоя и слоя, уже имеющего стли слоя. Чтобы их выделить, нажмите на один слой, потом зажмите клавишу Ctrl и щёлкайте на остальных слоях. После их выделения щёлкаем правой кнопкой мыши по выделенным слоям и в появившемся списке выбираем "Вклеить стиль слоя".

Вот так сейчас выглядит наша палитра "Слои" после перенесения на фреймы стилей слоя.

amp;lt;mce: script type=;">verflow-y: hidden; text-align: justify;">Вот так, в ходе обработки фотографии в фотошопе, мы очень быстро получили красивую презентацию какого-нибудь события или Ваших работ. С первого раза Вам покажется, что мы очень долго создавали эту презентацию, но поверьте мне - вторую и тем более третью, четвёртую и т.д. презентации Вы будете производить буквально в считанные минуты. Удачных Вам представлений своих работ!

В фотошопе есть прекрасная опция "Раскладка изображения ", которая хорошо подходит для создания дизайнерского портфолио. Эта команда генерирует страницы с фреймами, отведёнными под фотоснимки. Таким образом очень удобно представлять Ваши работы имеющимся или потенциальным клиентам. Эта команда недаром располагается в меню - "Файл - автоматизация ", так как она помогает значительно экономить время при создании своей презентации.

В этом уроке по работе с фотошопом мы создадим от начала до конца один лист электронного фотоальбома.

Другие уроки по автоматизации работы в фотошопе :

  • "Облегчаем поиск фотографий на компакт-дисках"
  • Создаём Web галерею в Photoshop
  • "Презентация фотографий в формате PDF"
  • "Работаем с командой автоматизации программы Photoshop - пакетная обработка"

Перейдём в окно настройки нашего фотоальбома - "Файл - Автоматизация - Раскладка изображения ".


В открывшемся окне никаких настроек не меняем, а просто нажимаем на "Edit Layout " (Изменить (редактировать) макет ).


В появившемся окне Picture Package Edit Layout (Изменить макет пакета изображений ) прежде всего нажимаем на кнопку Delete All , чтобы удалить предыдущий макет, затем в поле Name выбираем имя будущего макета, в поле Page Size выбираем его размер, ставим галочку Snap to , чтобы на поле будущего макета появилась сетка (для удобства размещения фотографий) и наконец нажимаем на Add Zone (Добавить зону ).



В поле, расположенном в правой части окна, появляется фрейм, потянув за угловые маркеры которого, мы растягиваем его на всё поле.


После этого мы опять нажимаем на кнопку Add Zone (Добавить зону ), опять появляется фрейм.


Используя его маркеры мы устанавливаем необходимый размер и перетаскиваем на нужное место.


Чтобы каждый раз не нажимать на Add Zone (Добавить зону ), щёлкните внутри первого фрейма правой кнопкой мыши и выберите Duplicate , появится второй фрейм, перетащите его на новое место, при необходимости за маркеры подрегулируйте его размеры. Если в списке выбрать Delete , то мы удалим фрейм.


Я создал шесть фреймов и расположил их как показано на скриншоте. Теперь нажимаем на кнопку Save .


Появляется окно в котором мы должны дать имя нашему фотоальбому (по умолчанию открывается папка Photoshop - Layouts ). Нажимаем на кнопку "Сохранить ".



Появляется основное окно, которое открывалось в самом начале, где представлен Ваш дизайн - Picture Package (Раскладка изображения ). В нём устанавливаем разрешение 300 pixels/inch и снимаем галочку в поле Flatten All Layers (Объединить все слои ). Щёлкаем по первому фрейму, где будет располагаться наша фотография.



В появившемся окне находим на компьютере нужную нам фотографию, выделяем её и нажимаем "Открыть ".



Фотография размещается в выбранном фрейме.


После того, как Вы разместили все свои изображения, нажмите кнопку OK .


Программа некоторое время будет работать, а потом в окне фотошопа Вы увидите почти готовый лист своей презентации.


Давайте придадим этому листу более дизайнерский вид. Во-первых, напишем что мы изобразили на нём. Выберем инструмент "Текст " (Т ), установим примерно такие параметры (у Вас они будут естественно своими).

Напишем что-то подобающее нашему событию. Чтобы текст смотрелся немного получше придайте ему какой-нибудь стиль. Для этого достаточно открыть палитру "Стили " и щёлкнуть на любом подобающем стиле.



Во-вторых, наложим на нижний слой подходящий градиент, для чего сделаем слой активным.


Выберем инструмент линейный "Градиент " (G ), щёлкнем по стрелочке справа от поля редактирования градиента и в появившемся списке щёлкнем по подходящему по стилю градиенту.


Проведём градиентом, к примеру, слева направо. Вот что у нас получилось. (Вы можете выбрать совсем другой градиент или просто залить основной слой какой-нибудь текстурой или цветом и т.д. и т.п., поле для творчества очень большое!).


Сделаем активным любой слой с фреймом и два раза щёлкнем по нему левой кнопкой мыши.


Появится окно "Стиль слоя ", в котором я выбрал следующие вкладки и установил в них определённые значения (Вы, как всегда, устанавливаете что Вам по вкусу) - Тень , Внутренняя тень , Тиснение , Обводка .





Вот что у меня получилось.



Перенесём получившиеся стили слоя на остальные фотографии. Для чего щёлкаем правой кнопкой мыши по слою уже с имеющимся стилем слоя и в появившемся списке выбираем "Скопировать стиль слоя ".


Выделяем все другие слои, которые ещё не имеют стиля слоя, за исключением нижнего слоя, текстового слоя и слоя, уже имеющего стили слоя. Чтобы их выделить, нажмите на один слой, потом зажмите клавишу Ctrl и щёлкайте на остальных слоях. После их выделения щёлкаем правой кнопкой мыши по выделенным слоям и в появившемся списке выбираем "Вклеить стиль слоя ".



Вот так сейчас выглядит наша палитра "Слои " после перенесения на фреймы стилей слоя.


Вот так, в ходе обработки фотографии в фотошопе , мы очень быстро получили красивую презентацию какого-нибудь события или Ваших работ. С первого раза Вам покажется, что мы очень долго создавали эту презентацию, но поверьте мне - вторую и тем более третью, четвёртую и т.д. презентации Вы будете производить буквально в считанные минуты. Удачных Вам представлений своих работ!

Чтобы получить интересные уроки на свой адрес, введите свои данные в форму подписки ниже:

Запустите скаченный файл двойным кликом (нужно иметь виртуальную машину ).

3. Анонимность при проверке сайта на SQL-инъекции

Настройка Tor и Privoxy в Kali Linux

[Раздел в разработке]

Настройка Tor и Privoxy в Windows

[Раздел в разработке]

Настройки работы через прокси в jSQL Injection

[Раздел в разработке]

4. Проверка сайта на SQL-инъекции с jSQL Injection

Работа с программой крайне проста. Достаточно ввести адрес сайта и нажать ENTER.

На следующем скриншоте видно, что сайт уязвим сразу к трём видам SQL-инъекций (информация о них указана в правом нижнем углу). Кликая на названия инъекций можно переключить используемый метод:

Также нам уже выведены имеющиеся базы данных.

Можно посмотреть содержимое каждой таблицы:

Обычно, самым интересным в таблицах являются учётные данные администратора.

Если вам повезло и вы нашли данные администратора — то радоваться рано. Нужно ещё найти админку, куда эти данные вводить.

5. Поиск админок с jSQL Injection

Для этого переходите на следующую вкладку. Здесь нас встречает список возможных адресов. Можете выбрать одну или несколько страниц для проверки:

Удобство заключается в том, что не нужно использовать другие программы.

К сожалению, нерадивых программистов, которые хранят пароли в открытом виде, не очень много. Довольно часто в строке пароля мы видим что-нибудь вроде

8743b52063cd84097a65d1633f5c74f5

Это хеш. Расшифровать его можно брутфорсом. И… jSQL Injection имеет встроенный брутфорсер.

6. Брутфорсинг хешей с помощью jSQL Injection

Несомненным удобство является то, что не нужно искать другие программы. Здесь имеется поддержка множества самых популярных хешей.

Это не самый оптимальный вариант. Для того, чтобы стать гуру в расшифровке хешей, рекомендуется Книга « » на русском языке.

Но, конечно, когда под рукой нет другой программы или нет времени на изучение, jSQL Injection со встроенной функцией брут-форса придётся очень кстати.

Присутствуют настройки: можно задать какие символы входят в пароль, диапазон длины пароля.

7. Операции с файлами после обнаружения SQL-инъекций

Кроме операций с базами данных — их чтение и модификация, в случае обнаружения SQL-инъекций возможно выполнение следующих файловых операций:

  • чтение файлов на сервере
  • выгрузка новых файлов на сервер
  • выгрузка шеллов на сервер

И всё это реализовано в jSQL Injection!

Есть ограничения — у SQL-сервера должны быть файловые привилегии. У разумных системных администраторов они отключены и доступа к файловой системе получить не удастся.

Наличие файловых привилегий достаточно просто проверить. Перейдите в одну из вкладок (чтение файлов, создание шелла, закачка нового файла) и попытайтесь выполнить одну из указанных операций.

Ещё очень важное замечание — нам нужно знать точный абсолютный путь до файла с которым мы будем работать — иначе ничего не получится.

Посмотрите на следующий скриншот:

На любую попытку операции с файлом нам отвечают: No FILE privilege (нет файловых привелегий). И ничего здесь поделать нельзя.

Если вместо этого у вас другая ошибка:

Problem writing into [название_каталога]

Это означает, что вы неправильно указали абсолютный путь, в который нужно записывать файл.

Для того, чтобы предположить абсолютный путь, нужно, как минимум, знать операционную систему на которой работает сервер. Для этого переключитесь к вкладке Network.

Такая запись (строка Win64 ) даёт основание нам предположить, что мы имеем дело с ОС Windows:

Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Connection: Keep-Alive Method: HTTP/1.1 200 OK Content-Length: 353 Date: Fri, 11 Dec 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; charset=UTF-8

Здесь у нас какой-то из Unix (*BSD, Linux):

Transfer-Encoding: chunked Date: Fri, 11 Dec 2015 11:57:02 GMT Method: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Connection: keep-alive Content-Type: text/html X-Powered-By: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

А здесь у нас CentOS:

Method: HTTP/1.1 200 OK Expires: Thu, 19 Nov 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Connection: keep-alive X-Cache-Lookup: MISS from t1.hoster.ru:6666 Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS from t1.hoster.ru Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Date: Fri, 11 Dec 2015 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251

В Windows типичной папкой для сайтов является C:\Server\data\htdocs\ . Но, на самом деле, если кто-то «додумался» делать сервер на Windows, то, весьма вероятно, этот человек ничего не слышал о привилегиях. Поэтому начинать попытки стоит прямо с каталога C:/Windows/:

Как видим, всё прошло прекрасно с первого раза.

Но вот сами шеллы jSQL Injection у меня вызывают сомнения. Если есть файловые привилегии, то вы вполне можете закачать что-нибудь с веб-интерфейсом.

8. Массовая проверка сайтов на SQL-инъекции

И даже эта функция есть у jSQL Injection. Всё предельно просто — загружаете список сайтов (можно импортировать из файла), выбираете те, которые хотите проверить и нажимаете соответствующую кнопку для начала операции.

Вывод по jSQL Injection

jSQL Injection хороший, мощный инструмент для поиска и последующего использования найденных на сайтах SQL-инъекций. Его несомненные плюсы: простота использования, встроенные сопутствующие функции. jSQL Injection может стать лучшим другом новичка при анализе веб-сайтов.

Из недостатков я бы отметил невозможность редактирования баз данных (по крайней мере я этого функционала не нашёл). Как и у всех инструментов с графическим интерфейсом, к недостаткам этой программы можно приписать невозможность использования в скриптах. Тем не менее некоторая автоматизация возможна и в этой программе — благодаря встроенной функции массовой проверки сайтов.

Программой jSQL Injection пользоваться значительно удобнее чем sqlmap . Но sqlmap поддерживает больше видов SQL-инъекций, имеет опции для работы с файловыми файерволами и некоторые другие функции.

Итог: jSQL Injection — лучший друг начинающего хакера.

Справку по данной программе в Энциклопедии Kali Linux вы найдёте на этой странице: http://kali.tools/?p=706

В этой статье я покажу, как можно создавать многоуровневое меню на PHP и MySQL . Безусловно, вариантов его создания можно придумать много, но, судя по количеству Ваших вопросов на эту тему, Вам нужен пример. И его я приведу в этой статье. Сразу отмечу, что данная статья имеет смысл только для тех, кто знает PHP и умеет работать с MySQL . Всем остальным сначала надо пройти этот , либо прочитать какие-нибудь книги по PHP и MySQL .

Для начала создадим таблицу в базе данных со следующими полями:

  • id - уникальный идентификатор.
  • title - анкор ссылки в меню.
  • link - адрес, на который будет вести пункт меню.
  • parent_id - родительский ID. Если родительского пункта нет, то здесь будет NULL (либо можно ещё 0 поставить).

С таблицей разобрались, теперь пришло время PHP-кода . Полный PHP-код приведён ниже:

$mysqli = new mysqli("localhost", "root", "", "db"); // Подключаемся к БД
$result_set = $mysqli->query("SELECT * FROM `menu`"); // Делаем выборку всех записей из таблицы с меню
$items = array(); // Массив для пунктов меню
while (($row = $result_set->fetch_assoc()) != false) $items[$row["id"]] = $row; // Заполняем массив выборкой из БД
$childrens = array(); // Массив для соответствий дочерних элементов их родительским
foreach ($items as $item) {
if ($item["parent_id"]) $childrens[$item["id"]] = $item["parent_id"]; // Заполняем массив
}
function printItem($item, $items, $childrens) {
/* Выводим пункт меню */
echo "

  • ";
    echo "".$item["title"]."";
    $ul = false; // Выводились ли дочерние элементы?
    while (true) {
    /* Бесконечный цикл, в котором мы ищем все дочерние элементы */
    $key = array_search($item["id"], $childrens); // Ищем дочерний элемент
    if (!$key) {
    /* Дочерних элементов не найдено */
    if ($ul) echo ""; // Если выводились дочерние элементы, то закрываем список
    break; // Выходим из цикла
    }
    unset($childrens[$key]); // Удаляем найденный элемент (чтобы он не выводился ещё раз)
    if (!$ul) {
    echo "
      "; // Начинаем внутренний список, если дочерних элементов ещё не было
      $ul = true; // Устанавливаем флаг
      }
      echo printItem($items[$key], $items, $childrens); // Рекурсивно выводим все дочерние элементы
      }
      echo "";
      }
      ?>

      Этот код полностью рабочий, однако, Вы должны понимать, что так никто не пишет (в частности, вывод через echo HTML-тегов ). И Ваша задача взять алгоритм из этого кода, но не сам код. А дальше этот алгоритм подключить к своему движку. Я постарался тщательно прокомментировать код вывода многоуровневого меню на PHP и MySQL , но, безусловно, он не самый прозрачный и требует уже неплохих начальных знаний. Если Вы ещё плохо знаете PHP и MySQL , то сначала настоятельно рекомендую пройти этот

      Поскольку она раскрывает содержание модуля menu.php . Ниже будет представлена собственная разработка меню на PHP, которая была написана с нуля в блокноте.

      Этот код особенно будет полезен для динамичных сайтов, которые имеют самописные движки . Я предложу два варианта кода, которые имеют незначительные отличия (в чем различие будет пояснено после).

      Для начала приведу примерную структуру сайта, для которого подойдет это меню. Структура сайта должна иметь следующий вид (классический вид):

      /index.html /razdel_1/ /razdel_1/articles_1.html /razdel_1/articles_2.html ... /razdel_2/ /razdel_2/articles_1.html /razdel_2/articles_2.html ... ... ... /razdel_N/articles_2.html

      Сайт может содержать у разделов еще и подразделы:

      /razdel_1/podzaderl_1/ /razdel_1/podzaderl_1/articles_1.html /razdel_1/podzaderl_1/articles_2.html ... /razdel_1/podzaderl_2/articles_1.html /razdel_1/podzaderl_2/articles_2.html

      Такая структура также будет работать для нашего меню лишь с небольшими отличиями.

      Я предлагаю создать отдельный файл для меню на php. Например, menu.php было бы отличным названием для такого файлика. Для реализации меню также представлен стиль меню в CSS, чтобы сразу сделать его более менее красивым. Естественно этот стиль дается только для ознакомления, поскольку дизайны у сайтов очень разные.

      Код для стиля меню в CSS:

      .menu { height:42px; padding:0 0 0 16px; background:url(images/spacer.png) repeat; } .menu li { display:block; float:left; } .menu li.active { background: #000011; } .menu a { color:#FFF; display:block; line-height:42px; text-decoration:none; padding:0 14px; } .menu a:hover { background:url(images/spacer.png) repeat; }

      Теперь, давайте рассмотрим первый вариант реализации меню на PHP, который является немного упрощенным.

      Первый вариант кода меню на PHP

      \n"; for ($i=0;$i": "
    • "; echo "".$array_menu[$i]["name"]."
    • \n"; } echo "
    "; ?>

    Меню можно разделить на две части. Первая содержит информационный массив $array_menu , в который заносятся названия наших разделов с ссылками на разделы. Есть вариант забить эти данные в базу данных mySQL, но особо смысла в этом нет, поскольку выборка совсем небольшая, поэтому на скорость работы это никак не повлияет.

    Вторая часть содержит вывод меню через цикл for . В цикле происходит сравнение адреса сайта с адресом из массива $array_menu . Если есть совпадение, то выводим очередной раздел меню со специальным классом active:

  • , иначе просто
  • . Это позволяет нам выделить каким-то цветом ту часть меню, в котором находится пользователь. На мой взгляд, это необходимая вещь для любого сайта, чтобы пользователь мог понимать в каком разделе он находится.

    Порядок следования в массиве будет сохранятся и при выводе меню на сайте. То есть массив надо заполнять в порядке, в котором нужно выводить меню.

    Примечание:
    В случае, если URL (адреса) заголовком разделов имеют вид:
    /razdel_1
    или такой
    /razdel_1/nazvanie_razdela.html
    то в array_menu нужно записывать точное совпадение:
    $array_menu[$i]["url"]="/razdel_1"
    или для второго случая:
    $array_menu[$i]["url"]="/razdel_1/nazvanie_razdela.html" ;

    Как работает первый вариант меню?
    Он подсвечивает меню только, если Вы находитесь по адресу заголовка раздела. Например, если адрес страницы будет /razdel_1/articles_1.html , то меню никак не будет подсвечиваться.

    Второй вариант кода является модифицированным вариантом первого и предусматривает возможность подсвечивания меню даже в статьях, которые находятся в разделах.

    Второй вариант кода меню на PHP

    "; for ($i=0;$i": "
  • "; echo "".$array_menu[$i]["title"]."
  • "; } else { echo ($URL) == ($array_menu[$i]["url"]) ? "
  • ": "
  • "; echo "".$array_menu[$i]["title"]."
  • "; } } echo ""; ?>
    Апр 23 2017

    В предыдущих уроках мы разобрали на примерах, что такое массивы. В этом уроке мы используем массивы на практике для создания меню на сайте.

    Чем они удобнее обычных HTML-тегов?

    Ну, допустим, наш сайт имеет 100 страниц, на каждой из которых имеется одно и то же меню. И вдруг нам понадобилось изменить пункты меню. Используя только HTML, нам придётся делать правки на 100 страницах сайта, это очень много. Так вот на помощь в таких ситуациях к нам приходит PHP. Достаточно будет поменять пункты меню всего лишь один раз в одном файле.

    А теперь поехали.

    На локальном хостинге в папке “domains создаём папку под названием “array - menu . local ”.

    В этой папке создаём четыре файла: index . php , about . php , contact . php и menu . php .

    !!! Синтаксис файлов должен быть PHP .

    В файле index.php пишем простой HTML каркас.




    charset ="utf-8" >



    Главная


    include ("menu.php" );
    ?>

    Копируем этот код в файлы about.php и contact.php. Меняем только названия страниц в теге

    .

    Пишем код для меню.

    В файле menu.php пишем ассоциативный массив.

    $menu = array (
    "index"=> "index.php",
    "about"=> "about.php",
    "contacts"=> "contact.php"
    );
    ?>

    Ниже с помощью тегов HTML пишем меню.

    В браузере мы увидим обычное меню в виде списка.

    Кликая на любом пункте меню мы перейдём на соответствующую страницу, меню при этом будет на всех страницах.

    Теперь усложним задачу. Всё удаляем из файла menu.php и...

    Пишем многомерный массив.




    charset ="utf-8" >
    <span>Использование массива для вывода меню на сайте. </span>


    $menu = array (
    array ("link"=> "Главная", "href"=> "index.php" ),
    array ("link"=> "О нас", "href"=> "about.php" ),
    array ("link"=> "Контакты", "href"=> "contact.php" )
    );
    ?>



    И на последнем этапе...

    Отрисовываем меню с помощью цикла foreach .

    Удаляем из файла menu.php список

      и вместо него пишем следующий код.

      echo "

        " ;
        foreach ($menu as $item ){
        echo "
      • {$item }
      • " ;
        }

        В браузере увидим тот же результат.

        Чтобы изменить пункты меню, достаточно изменить их в файле menu.php всего один раз.



  • Загрузка...