Свой движок сайта на php в связке с MySql, для начинающих

16 Янв
2012

Среди обычных пользователей различных 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
include('header.php');
include('menu.php');
include('content.php');
include('sidebar.php');
include('footer.php');
?>

Тэгами <?php и ?> мы открываем и закрываем наш код (вместо <?php можно использовать просто <?).
А конструкция include(‘ ‘); позволяет включать файлы в код PHP скрипта во время выполнения сценария. Т.Е. в код нашей главной страницы автоматически, и в заданном нами порядке будет включен код из всех файлов, которые мы «включили».

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

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

  1. Создать полноценный установщик сайта, и панель администратора.
  2. Либо просто создать страницу типа 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 "Подключение к БД прошло успешно

"; //выводим текст о успешном подключении к бд

//Подключаемся к бд, затем задаем переменной 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 "

Подключение к БД прошло успешно

";

В данном случаем, при ошибке будет выводиться строка: «Выбор БД не произошел: и далее сама ошибка».

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

Продолжение следует…
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх