6 октября 2013
5073
система управления сайтом, разработка системы управления сайтом

Разработка системы управления сайтом - Часть 1

PHP
Демонстрация » Скачать »

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

 

ШАГ ПЕРВЫЙ. База данных - первоначальная структура.

 

Создаем базу данных cms с привилегиями: имя пользователя - "root", пароль -"". В ней пока будет таблица admin_profile в которой три поля id, login и pass. Думаю по названиям достаточно понятные поля - идентификатор, логин и пароль. Возьмем за тестовую версию вход в админку и дадим ей логин и пароль: admin

Дамп таблицы admin_profile.

 

--
-- Table structure for table `admin_profile`
--

CREATE TABLE IF NOT EXISTS `admin_profile` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `login` varchar(255) NOT NULL,
  `pass` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=24 ;

--
-- Dumping data for table `admin_profile`
--

INSERT INTO `admin_profile` (`id`, `login`, `pass`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3');

 

 

 

разработка системы управления сайтом

 

 

 

ШАГ ВТОРОЙ. Файл bd.php - соединение с базой данных.

 

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

 

$db = mysql_connect ("localhost", "root", "");
mysql_select_db ("cms", $db);
if (!$db) echo mysql_error();

 

 

ШАГ ТРЕТИЙ. Файл index.php - вход в систему управления сайтом.

 

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

 

система управления сайтом

 

 

Как видим, на структуре показано, что сначала мы подключаем файл bd.php - устанавливаем соединение с базой данных, если все верно, то подключаемся к файлу functions.php, в котором идет выборка полей из базы данных, если все верно, то нас перенаправляет на страницу profile.php, если не верно то на error.php, где нас попросят заново вести правильный логин и пароль!

 

 

session_start();
// Запуск сессии
if(session_is_registered("register"))
{
// Определяем, зарегистрирована ли
// переменная в сессии
header("Location: profile.php");
break;
// если да, то перенаправляем
// на файл profile.php
}
include ("bd.php");
// подключаемся к базе данных

 

 

между head везде подключаем файл стилей

 

<link rel="stylesheet" type="text/css" href="style.css"/>

Далее идет сама форма входа

 

<div align="center">
<form name="form" action="profile.php" method="post">
<label>Логин</label><br>
<input class="inputlp" type="text" name="login">
<br><br>
<label>Пароль</label><br>
<input class="inputlp" type="password" name="pass">
<br><br>
<input type="submit" id="submit" class="input_button"
value="Войти">
</form>
</div>

 

 

ШАГ ЧЕТВЕРТЫЙ. Файл functions.php - файл функционала системы управления.

 

Запрос к таблице admin_profile и выборка всех полей.

 

function profile($login,$pass)
{
// Создаем функцию с переменными
// $login и $пароль
$sql=mysql_query("SELECT * FROM admin_profile
WHERE login='$login' AND pass=md5('$pass')");
// Выбираем все поля из таблицы admin_profile
// где login равно $login и pass равен по md5
// $pass
$res=mysql_num_rows($sql);
return $res;
}

 

 

ШАГ ПЯТЫЙ. Файл profile.php - файл личного профиля.

 

Сначала проверяем, если все правильно то отображаем администратора, если нет то нам выводится сообщение об ошибке!

 

session_start();
// Запуск сессии
include ("bd.php");
// Подключение к базе данных
include ("functions.php");
// Подключаем функциональный файл
if(isset($login) && isset($pass))
{
// проверка на существование
// переменных $login и $pass
$res = profile($login,$pass);
if($res == 1)
{
//если существуют то выводить "TRUE"
$register = $login;
session_register("register");
}
}
if(session_is_registered("register"))
{

include("menu.php");
// подключение меню

echo"<div class='profile'>
<span class='span_1'>Ваш логин: </span>
<span>$register</span></div>";
// Вывод логина

}
else
{
include("error.php");
// Вывод ошибки и переброс на index.php
}

 

 

menu.php

 

<table>
<tr>
<td>
<a href='profile.php'>Главная</a>
| <a href='logout.php'>Выход</a>
</td>
</tr>
</table>

 

 

error.php

 

Вы ввели не правильный логин или пароль!
<a href='index.php'>Назад</a>

 

 

ШАГ ШЕСТОЙ. Файл logout.php - выход из системы управления сайтом.

 

При нажатии кнопки выход, запускается сессия, ищется переменная $register и записывается в $old_register, затем она уничтожается, тем самым перенаправляя нас на страницу входа index.php.

 

 

session_start();
// Запуск сессии
$old_register = $register;
$res = session_unregister("register");
session_destroy();
// Уничтожение сессии и
header ("Location: index.php");
// переброс на файл index.php

 

 

ШАГ СЕДЬМОЙ. Файл style.css - стили.

 

 

.inputlp
{
border: 1px solid black;
}

.input_button
{
border: none;
background: none;
color: blue;
font-weight: bold;
}

a
{
font-weight: bold;
text-decoration: none;
color: blue;
}

a:hover
{
color: red;
}

.error
{
padding-left:20px; font-size:15; color:red;
}

.profile
{
padding-top: 10px;
}

.span_1
{
font-weight: bold;
}

 

 

Спасибо всем за внимание, до следующего урока по разработке системы управления сайтом!