Среди обычных пользователей различных 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 добавим вот этот код:
Тэгами <?php и ?> мы открываем и закрываем наш код (вместо <?php можно использовать просто <?).
А конструкция include(' '); позволяет включать файлы в код PHP скрипта во время выполнения сценария. Т.Е. в код нашей главной страницы автоматически, и в заданном нами порядке будет включен код из всех файлов, которые мы «включили».
Итак, сейчас в нашу главную страницу встраивается код из всех нужных нам элементов.
Это нужно прежде всего, для удобства, чтобы не было нагромождения кода, а также, если мы будем делать несколько страниц, в которых будут одинаковые элементы, нам проще создать отдельные файлы с ними, и потом выгружать.
Наша следующая задача — создать в базе данных таблицы и заполнить их данными, касательно названия нашего сайта и тп.
Здесь мы можем пойти двумя путями:
Для начала, пройдем вторым путем — простым.
Для этого мы сначала внесем в наш файл config.php данный код:
Помимо комментариев в самом коде, хочу добавить то, что $any_text — это переменные, которые мы задаем. Также, в php после любой функции, конструкции и тп. необходимо добавлять ";".
Итак, конфиг сайта мы создали, теперь перейдем к самому файлу установки.
Данный файл установки очень примитивен. К примеру, если вы хотите, чтобы при любых ошибках вам выдавались сообщения, то вы можете использовать "or die". Пример:
В данном случаем, при ошибке будет выводиться строка: «Выбор БД не произошел: и далее сама ошибка».
Подведем некоторые итоги: у нас есть пустая база сайта, как бы это ни было печально, и созданные в БД таблицы, которые были заполнены.
Продолжение следует…
В конце декабря я загорелся желанием сделать что то свое, при очень малом знании языков. И теперь, я хочу помочь рядовому пользователю несколько освоится в связке 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 добавим вот этот код:
<?php
include('header.php');
include('menu.php');
include('content.php');
include('sidebar.php');
include('footer.php');
?>
Тэгами <?php и ?> мы открываем и закрываем наш код (вместо <?php можно использовать просто <?).
А конструкция include(' '); позволяет включать файлы в код PHP скрипта во время выполнения сценария. Т.Е. в код нашей главной страницы автоматически, и в заданном нами порядке будет включен код из всех файлов, которые мы «включили».
Итак, сейчас в нашу главную страницу встраивается код из всех нужных нам элементов.
Это нужно прежде всего, для удобства, чтобы не было нагромождения кода, а также, если мы будем делать несколько страниц, в которых будут одинаковые элементы, нам проще создать отдельные файлы с ними, и потом выгружать.
Наша следующая задача — создать в базе данных таблицы и заполнить их данными, касательно названия нашего сайта и тп.
Здесь мы можем пойти двумя путями:
- Создать полноценный установщик сайта, и панель администратора.
- Либо просто создать страницу типа install.php, в которую мы внесем все нашы данные и один раз перейдем на нее, для выгрузки данных и создания таблиц.
Для начала, пройдем вторым путем — простым.
Для этого мы сначала внесем в наш файл config.php данный код:
<?php
$title = GStories; // Введите заголовок сайта
/* Параметры подключения к MySql базе данных */
$username = "имя_пользователя"; // Логин пользователя MySql
$password = "пароль"; // Пароль для доступа к MySql
$server = "localhost"; // Сервер MySql ДБ
$database = "имя_базы_данных"; // Название вашей дб в MySql
$sitetitle = "название"; // Название сайта, отображаемое в Header
$about = "описание сайта";
?>
Помимо комментариев в самом коде, хочу добавить то, что $any_text — это переменные, которые мы задаем. Также, в php после любой функции, конструкции и тп. необходимо добавлять ";".
Итак, конфиг сайта мы создали, теперь перейдем к самому файлу установки.
<?php
include('config.php');
$db = mysql_connect($server, $username, $password); // Задаем функцию подключения к бд
mysql_select_db($database,$db); // выбираем к какой бд необходимо подключаться
echo "Подключение к БД прошло успешно<br>"; //выводим текст о успешном подключении к бд
//Подключаемся к бд, затем задаем переменной 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 успешна создана<br>";
$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 успешни записаны<br>";
*/
$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 БД закрыто<br>";
echo "Установка успешно завершена";?>
Данный файл установки очень примитивен. К примеру, если вы хотите, чтобы при любых ошибках вам выдавались сообщения, то вы можете использовать "or die". Пример:
mysql_select_db($database,$db) or die ('<br>Выбор БД не произошел: ' .mysql_error());
echo "<br>Подключение к БД прошло успешно<br>";
В данном случаем, при ошибке будет выводиться строка: «Выбор БД не произошел: и далее сама ошибка».
Подведем некоторые итоги: у нас есть пустая база сайта, как бы это ни было печально, и созданные в БД таблицы, которые были заполнены.
Продолжение следует…