- Движок сайта на PHP
- Работа с include на PHP
- Функция include и GET запрос PHP
- Проверим существование файла перед его иклудом PHP
- Применение функции include для улучшения сайта
- Простой движок сайта на PHP
- Исправим проблему с тайтлом в простом движке PHP
- Вынесем макет сайта в отдельный файл в простом движке PHP
- Добавляем страницу 404 в простом движке PHP
- Движок сайта PHP на базе данных
- Простая менюшка в движка сайта на PHP
- Динамическая менюшка в сайте на простом движке PHP
- Создание админки в простом движке PHP
- Удаление страниц через админку в простом движке PHP
- Добавление новой страницы через админку в простом движке PHP
- Редактирование страниц через админку в простом движке PHP
- Экранируем кавычку при сохранении в простом движке PHP
- Блокируем прямой заход из браузера к папке с элементами через htaccess
- Показ флеш сообщений с помощью сессий в простом движке PHP
- Защищаем админку паролем в простом движке PHP
- Добавляем сессию при авторизации в простом движке PHP
- Добавляем хеширование пароля с помощью функции md5 в простом движке PHP
- Реализация ЧПУ с get параметрами в простом движке сайта на PHP
- Разбор URL средствами PHP при ЧПУ в простом движке PHP
- Свой движок сайта на php в связке с MySql, для начинающих
- Создание простого движка на php часть 2
- Почему сайт нужно делать на движке??
- Главная страница сайта ox2.ru
- О компании ox2.ru
- Преимущества ox2.ru
- Комментарии (Написать комментарий)
Движок сайта на PHP
В данном цикле видео я покажу вам, как сделать движок сайта на PHP. Движок сайта нужен для того, чтобы превратить 1000+ обычных HTML страниц в нечто, удобное для редактирования и поддержки.
Работа с include на PHP
Функция include и GET запрос PHP
Проверим существование файла перед его иклудом PHP
Применение функции include для улучшения сайта
Простой движок сайта на PHP
Исправим проблему с тайтлом в простом движке PHP
Вынесем макет сайта в отдельный файл в простом движке PHP
Добавляем страницу 404 в простом движке PHP
Движок сайта PHP на базе данных
Простая менюшка в движка сайта на PHP
Динамическая менюшка в сайте на простом движке PHP
Создание админки в простом движке PHP
Удаление страниц через админку в простом движке PHP
Добавление новой страницы через админку в простом движке PHP
Редактирование страниц через админку в простом движке PHP
Экранируем кавычку при сохранении в простом движке PHP
Блокируем прямой заход из браузера к папке с элементами через htaccess
Показ флеш сообщений с помощью сессий в простом движке PHP
Защищаем админку паролем в простом движке PHP
Добавляем сессию при авторизации в простом движке PHP
Добавляем хеширование пароля с помощью функции md5 в простом движке PHP
Реализация ЧПУ с get параметрами в простом движке сайта на PHP
Разбор URL средствами PHP при ЧПУ в простом движке PHP
Свой движок сайта на php в связке с MySql, для начинающих
Среди обычных пользователей различных CMS, есть те, у которых есть желание создать свою собственную CMS. Одним из таких пользователей был я.
В конце декабря я загорелся желанием сделать что то свое, при очень малом знании языков. И теперь, я хочу помочь рядовому пользователю несколько освоится в связке php и MySql, и в том, как можно написать свой сайт.
Во первых, мы должны понять, что у нас будет за сайт, и какова будет его структура.
У меня была идея фикс — истории из игр, чтобы любой пользователь мог их добавлять и выводились они постранично из БД MySql.
И так, сначала разметим структуру страницы. Для меня это было:
Header
Menu
Content
Sidebar
Footer
Header — шапка сайта;
Menu — соответственно меню;
Content — содержимое страниц в моем случае истории, но содержимым может быть все, что угодно;
Sidebar — боковая колонка, где находились новости и лучшие истории;
Footer — нижняя часть сайта (подвал) с копирайтом.
Также, нельзя забывать о подключении к базе данных — ведь страницы у нас динамические, и всю информацию мы будем брать оттуда, поэтому нам понадобится еще пара вещей — файл с конфигом, а также файл, который будет подключать нас к базе данных.
После этого, я создал 6 пустых php: index.php, config.php, connect.php, header.php, menu.php, content.php, sidebar.php и footer.php.
Забыл отметить, что для удобства редактирование кода стоит скачать программу Notepad++ — русская версия в ней есть.
Итак, начнем с простого. Для начала, в файл index.php добавим вот этот код:
Тэгами и ?> мы открываем и закрываем наш код (вместо можно использовать просто ).
А конструкция include(‘ ‘); позволяет включать файлы в код PHP скрипта во время выполнения сценария. Т.Е. в код нашей главной страницы автоматически, и в заданном нами порядке будет включен код из всех файлов, которые мы «включили».
Итак, сейчас в нашу главную страницу встраивается код из всех нужных нам элементов.
Это нужно прежде всего, для удобства, чтобы не было нагромождения кода, а также, если мы будем делать несколько страниц, в которых будут одинаковые элементы, нам проще создать отдельные файлы с ними, и потом выгружать.
Наша следующая задача — создать в базе данных таблицы и заполнить их данными, касательно названия нашего сайта и тп.
Здесь мы можем пойти двумя путями:
- Создать полноценный установщик сайта, и панель администратора.
- Либо просто создать страницу типа install.php, в которую мы внесем все нашы данные и один раз перейдем на нее, для выгрузки данных и создания таблиц.
Для начала, пройдем вторым путем — простым.
Для этого мы сначала внесем в наш файл config.php данный код:
Помимо комментариев в самом коде, хочу добавить то, что $any_text — это переменные, которые мы задаем. Также, в php после любой функции, конструкции и тп. необходимо добавлять «;».
Итак, конфиг сайта мы создали, теперь перейдем к самому файлу установки.
"; //выводим текст о успешном подключении к бд //Подключаемся к бд, затем задаем переменной t_si_c функцию создания базы данных и исполняем ее mysql_select_db($database, $db); $t_si_c = "CREATE TABLE SiteConfig (option_id int(3), option_name varchar(50), option_value varchar(244) )"; mysql_query($t_si_c,$db); echo "Таблица SiteConfig успешна создана
"; $id_1 = "INSERT INTO SiteConfig (option_id, option_name, option_value) VALUES ('1', 'SiteTitle', '$sitetitle')"; $id_2 = "INSERT INTO SiteConfig (option_id, option_name, option_value) VALUES ('2', 'Title', '$title')"; $id_3 = "INSERT INTO SiteConfig (option_id, option_name, option_value) VALUES ('3', 'About', '$about')"; mysql_query($id_1,$db); mysql_query($id_2,$db); mysql_query($id_3,$db); echo "Данные Title, About и SiteTile успешни записаны
"; */ $t_content_c = "CREATE TABLE Content (id TEXT(1000), time DATETIME(), rating TEXT(10000), tags TEXT(500), name TEXT(300), story TEXT(1000000) )"; mysql_query($t_content_c,$db); mysql_query("CREATE TABLE Content( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), time TIMESTAMP(14), rating TEXT(10000), tags TEXT(500), name TEXT(300), story TEXT(1000000) CHARACTER SET utf8 COLLATE utf8_general_ci ) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci") or die(mysql_error()); echo "Content!"; include('close-connection.php'); echo "Подключение к MySql БД закрыто
"; echo "Установка успешно завершена";?>
Данный файл установки очень примитивен. К примеру, если вы хотите, чтобы при любых ошибках вам выдавались сообщения, то вы можете использовать «or die«. Пример:
mysql_select_db($database,$db) or die ('
Выбор БД не произошел: ' .mysql_error()); echo "
Подключение к БД прошло успешно
";
В данном случаем, при ошибке будет выводиться строка: «Выбор БД не произошел: и далее сама ошибка».
Подведем некоторые итоги: у нас есть пустая база сайта, как бы это ни было печально, и созданные в БД таблицы, которые были заполнены.
Создание простого движка на php часть 2
Как уже говорилось в предыдущих уроках, при создании интернет магазина или интернет сайта, одним из самых важных показателей является движок. Особенно если стоимость интернет магазина не самая низкая.
Он нужен не только для того, чтобы была возможность подключения сайта к системе управления контентом (cms), но и для правильной организации работы сайта. Сайт должен работать по четким правилам, и его структура должна быть полностью понятной.
Почему сайт нужно делать на движке??
Сайт можно сделать и на чистом html, без использования движков и php-вообщем. На php можно написать только форму обратной связи, и прочие скрипты, необходимые на сайте. Но возникает множество проблем, вот некоторые из них:
- Сложность в изменений дизайна сайта
- Невозможно подключить систему управления контентов
- Сложность и длительность в изменении частей сайта (например, сделали сайт на html из 100 страниц, и потребовалось на каждой странице добавить новый пункт меню, придется все перелапачивать)
Сейчас мы напишем движок для создания сайта из 3-ех страниц. Структуру движка можете посмотреть в предыдущем уроке.
Файл: index.php
Файл выводит шапку и подвал, и запускает класс Engine, который выводит страницы сайта. Страницы сайта хранятся в папке templates.
getError()) < //Если возникли ошибки, выводим сообщение на экран echo "" . $engine->getError() . ""; > echo $engine->getContentPage(); //Выводим страницы сайта include_once "templates/footer.php";//Подключаем подвал сайта ?>
Файл: class/Engine.php
Основной файл движка. Отвечает за открытия страниц. Имя файла шаблона передается методом GET. По-умолчанию открывается страница main.php.
_page_file = $_GET["page"]; //Небольшая защита $this->_page_file = str_replace(".", null, $_GET["page"]); $this->_page_file = str_replace("/", null, $_GET["page"]); $this->_page_file = str_replace("", null, $_GET["page"]); //Проверяем, если шаблон не существует if (!file_exists("templates/" . $this->_page_file . ".php")) < $this->_setError("Шаблон не найден"); //Ошибку на экран $this->_page_file = "main"; //Открываем главную страницу > > //Если в GET запросе нет переменной page, то открываем главную else $this->_page_file = "main"; > /** * Записывает ошибку в переменную _error * @param string $error - текст ошибки * @author ox2.ru */ private function _setError($error) < $this->_error = $error; > /** * Возвращает текст ошибки * @author ox2.ru */ public function getError() < return $this->_error; > /** * Возвращает текст открытой страницы */ public function getContentPage() < return file_get_contents("templates/" . $this->_page_file . ".php"); > /** * Возвращает тег заголовок открытой страницы * @return string */ public function getTitle() < switch ($this->_page_file) < case "main": return "Главная страница сайта ox2.ru"; break; case "about": return "О компании ox2.ru"; break; case "ox2": return "Преимущества ox2.ru"; break; default: break; >> > ?>
Файл: templates/header.php
Шапка сайта, содержит верхнее меню, можно поставить логотип сайта, и другую не изменную информацию. Обратите внимание на то, что в верхнем меню сайта есть одна битая ссылка. Ее мы сделали специально, чтобы протестировать методы записи и вывода ошибок на сайт.
Главная | О компании | Почему OX2 | Битый раздел
Файл: templates/footer.php
Подвал нашего сайта, обычно содержит копирайт компании которая создала сайт, телефоны, и нижнее меню
Файл: templates/main.php — Главная страница
Главная страница сайта ox2.ru
Сайт в разработке
Файл: templates/about.php — Страница о компании
О компании ox2.ru
текст еще не написан
Файл: templates/ox2.php — Страница Почему OX2
Преимущества ox2.ru
Мы умеем делать хорошие сайты и интернет-магазины ))
На этом php движке можно сделать простенький сайт. Стоимость создания сайта с таким движком обычно очень низкая, т.к. в нем нет системы управления. В следующих уроках мы будем создавать более сложные движки, с участием баз данных, специальных шаблонизаторов, и т.д. Напишем свою первую систему управления сайтами и интернет-магазинами!!
Как уже говорилось в предыдущих уроках, при создании интернет магазина или интернет сайта, одним из самых важных показателей является движок. Особенно если стоимость интернет магазина не самая низкая. Он нужен не только для того, чтобы была возможность подключения сайта к системе управления контентом (cms), но и для правильной организации работы сайта.
Комментарии (Написать комментарий)
Комментарий:
Доброго времени суток, подскажите пожалуйста почему в templates/main.php
не отрабатывает php код?
Html работает а php не выполняется
Комментарий:
Спасибо за урок. Поможет в будущем. Сейчас изучаю теорию и ваши уроки помогают осмыслить многое в построение сайта.
Комментарий:
Мне кажется с геттайтл не работает.
Комментарий:
Все супер. Учусь по вашим урокам. Спасибо за знания, которые дарите людям 🙂
Я только начал изучать работу с классами. До этого мог писать корявый код, который был разбросан по всем файлам.
Сделал простенький движок по вашему уроку, но решил усложнить для себя задание и сразу впал в ступор. Вот к примеру я хочу сделать боковую колонку. И в ней будет меню, а еще какие-нить виджеты самописные(календарь,форма входа,что угодно). Как мне организовать эту работу через классы?