Программа для управления сайтом – движок сайта – на PHP с нуля

В этой статье будем создавать самую простую систему управления сайтом на PHP.
Цель – дать наглядное и простое понимание работы и взаимодействия файлов и функций сайта.
Это даст возможность наглядно увидеть структуру любого сайта. И уже на основе примера в дальнейшем можно создать более сложные структуры, плагины или разобраться в их работе.

✪ DEMO⇊ СКАЧАТЬ

Описание

Систему управления сайтом написана на PHP. Она позволяет изменять элементы на странице (заголовок, текст, ссылки в футере).
На странице для пользователя отображается меню, в котором пункты меню – это заголовки страниц.

Необходимые программы

– пакет DENWER (http://www.denwer.ru/);
– текстовый редактор Nodepad++ (http://stepfor.top/download/notepad/).

Предполагается, что у читателя уже есть базовые знания по работе с сайтами, поэтому все объяснения будут достаточно краткими. Но ведь всегда можно задать вопрос в комментариях 🙂

Для начала нужно установить пакет Denwer и создать в на локальном сервере папку, где будет проект этой программы.
c:\WebServers\home\localhost\www\название_папки\

Создание Базы Данных – БД

Config.php – файл конфигурации для подключения к серверу

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

config.php – файл конфигурации для подключения к серверу

– $mysql – переменная – ассоциативный массив, когда индексом массива является не число, а буква(слово);
Заполнены параметры массива:
– сервер – localhost
– имя сервера – root (в DENWER по умолчанию)
– пароль – без пароля (в DENWER по умолчанию)
– база данных – любое название

Создание Базы Данных – setup.php

Если у сайта есть уже установленный движок, то он подключается к уже имеющейся Базе Денных. А в нашем случае мы все создаем с нуля.
Для начала работы, прежде всего нужно создать основную Базу данных, в которой будут хранится все данные сайта.
Для этого в корне сайта создаем еще один файл setup.php

После создания БД, файл Setup.php можно удалить.
Создать Базу данных можно и с phpMyAdmin (На localhost он находится по адресу: http://localhost/Tools/phpMyAdmin/index.php.)

Подключение к Базе данных – connect.php

Практически каждая страница должна будет подключатся к Базе Данных. Поэтому этап подключения выносится в отдельный файл.
Нужно создать файл Connect.php.

– $id – переменная, в ней запрос на подключение к серверу;
– mysql_connect – функция подключения к серверу.
– mysql_select_db – функция выбора Базы данных;

Создание таблицы в БД – install – index.php

В самой базе данных нужно создать таблицу с необходимым количеством полей.
В нашем случае это таблица page, которая имеет 3 поля: id, заголовок, текст.
Для этого нужно создать папку install, а в ней файл index.php

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

Первичное наполнение таблицы – insert – index.php

Теперь заполним данные таблицы. Для этого нужно создать папку insert, а в ней файл- index.php:

Если повторить запуск этого файла несколько раз, при этом менять значения для header и text, можно создать несколько страниц.
Вот, что получилось в phpMyAdmin

Традиционно после запуска этого файла – его нужно удалить.

Далее мы создадим другой файл для наполнения таблицы, чтобы само наполнение происходило через форму ввода данных.

Вывод всех данных таблицы на экран – select.php

Данные таблицы можем вывести на экран. А если добавить в них ссылки “редактировать” и “удалить” – получится настоящая административная панель сайта.
Также справа мы добавим ссылку на “Создание новой станицы” (то есть новой записи в таблице).

– mysql_fetch_array – функция php, которая обрабатывает РЯД результата запроса $result, возвращая ассоциативный массив (также может численный массив или оба);
– while ($out = mysql_fetch_array($result) – цикл, который работает пока не закончатся ряды массива $result;

Редактирование ряда таблицы в Базе данных – update.php

Файл Update.php – выводит форму, в которой поля заполнены данными из таблицы. Изменив значения полей и нажав кнопку отправки формы, обновленные данные отправляются в файл update_save.php, который уже сохраняет их в таблице.

$_GET[‘id’] – ассоциативный массив переменных, переданных скрипту через параметры URL (известные также как строка запроса). В нашем файле берет результат id.

Сохранение изменений в таблице Базы данных – update_save.php

update_save.php – принимает данные из формы файла update.php и сохраняет их в Базу Данных

Удаление данных из БД – delete.php и delete_save.php

Файл delete.php задает уточняющий вопрос перед удалением.

Файл delete_save.php получает через метод GET значение id и удаляет из таблицы page запись, у которой значение поля id соответствует переданному

Создание данных в БД – create.php

Если данные можно удалить – то их можно и создать/добавить. И добавлять данные мы будет уже не как ранее (выше), а с помощью формы, похожей на форму редактирования.
Для этого нужен файл create.php

Чтобы обнулить данные метода POST используется перезагрузка (обнуление) страницы.
Чтобы вывести запись об успешном создании страницы применяется функция show_confirmation()

Лицевая страница сайта

Все что было выше – это “Административная часть” сайта, то есть та часть программы, с помощью которой пользователь может вводить и изменять данные.
Далее нужно создать видимую часть сайта, а именно шаблон страницы и подключить к ней работу с Базой данных.
Создаем снова файл index.php

Вот теперь ваш первый сайт полностью готов!
Посмотреть его можно по ссылке: http://localhost/название_сайта/
Далее его можно совершенствовать и наполнять. Он уже рабочий.

А тут можно скачать архив всех перечисленных выше файлов или посмотреть Демо (в демонстрационной версии возможен только просмотр, вносить изменения запрещено).


Подпишитесь на RSS канал - если Вы хотите первыми узнавать о новых статьях на сайте!!!

Статьи по теме:

Комментарии закрыты