- •Факультет бизнеса и менеджмента Школа бизнес-информатики
- •Создание web-интерфейса (сайта) для базы данных аудиобиблиотеки
- •Аннотация
- •Оглавление
- •Глава 1. Теоретические основы разработки web-интерфейса
- •Web-сервера, назначение, принципы организации
- •Теоретические основы php
- •Теоретические основы MySql
- •Глава 2. Предметная область, постановка задачи и требований
- •Постановка задачи, технические и функциональные требования
- •Даталогическое проектирование
- •Методы и инструменты реализации
- •Глава 3. Практическая реализация поставленной задачи
- •Физическая реализация
- •Использование движков сайтов
- •Варианты использования (Use Cases)
Даталогическое проектирование
Используемая в работе база данных, как уже было сказано выше, имеет основную сущность и несколько дополнительных.
Сущность «Книга» хранит такие атрибуты, как «Название», «Жанр», «Год написания». Таблица «Автор» хранит информацию об авторе: «ФИО» и «Страна». «Книга» и «Автор» связаны между собой (один автор может иметь несколько книг). Эти таблицы доопределяют главную сущность «Аудиокнига», которая включает такие параметры, как «Количество частей» и «Цена» и имеет связь с сущностью «Книга» со ссылками и на книгу, и на автора. Помимо всего перечисленного также используется таблица «Аудиофайл», определённая следующими атрибутами: «Номер части», «Длительность» и «Размер». Данная сущность также связана с главной таблицей.
Методы и инструменты реализации
Для реализации практической работы были применены различные методы и средства.
Сначала было проведено проектирование и создание базы данных с помощью EMSSQLManagerforMySQL. Данная программа была использована для всех этапов работы над БД.
С помощью программы «Homesite5.5» были созданыHTML-страницы сайта, разработана связь сайта с БД, переходы между страницами и определена кодировка (UTF-8).
Для создания локального сервера мною была использована сборка «Денвер 3», с помощью которой и был запущен и проверен сайт. Все использованные программы были оптимальным решением для реализации проекта, несмотря на некоторые их недостатки (например: нестабильная работа Homesiteна ОСWindows8.1, относительная сложность настройки Денвер).
Глава 3. Практическая реализация поставленной задачи
Физическая реализация
В ходе работы был написан код для различных объектов HTML-страниц на языке PHP. В силу некоторых факторов невозможно представить в отчёте полный код каждой из страниц.
Ниже представлены фрагменты кода, описывающие некоторые действия сайта.
Проверка авторизации
<?php
if(empty($login) and empty($password)){
<center>
<table>
<br>
<form action="login.php" method="POST">
<tr>
<td>Логин:</td>
<td><input type="text" name="login" ></td>
</tr>
<tr>
<td>Пароль:</td>
<td><input type="password" name="password" ></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="OK" name="submit" ></td>
</tr>
</form>
</table>
<a href="registration.php">Регистрация</a></center>
}
else{
echo "Вы зашли под именем <strong>".$login."</strong> |
<a href='exit.php'>Выход</a><br><a href="main.php">Переход к главной странице</a>";
}
?>
Проверка соответствия условию поля «Логин» и отображение сообщения об ошибке
if (isset($_POST['submit'])){
if(empty($_POST['login'])) {
echo '<br><font color="red"> Введите логин! </font>';
}
elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
echo '<br><font color="red”>Недопустимые символы в поле «Логин»! Используйте буквы, цифры и нижнее подчеркивание!</font>';}
Создание переменных, хранящих данные пользователей
$login = $_POST['login']; $password = $_POST['password'];
$password2 = $_POST['password2']; $mdPassword = md5($password); $email = $_POST['email']; $name = $_POST['name']; $surname = $_POST['surname'];
Подключение сайта к БД
<?php session_start(); $login = $_SESSION['login']; $password = $_SESSION['password']; $id_user = $_SESSION['id']; $hostname = "localhost"; $username = "root"; $password = ""; $dbName = "Practice_db"; $db = mysql_connect($hostname,$username,$password) or die ("Ошибка подключения к серверу"); mysql_select_db($dbName,$db) or die ("Ошибка подключения к базе"); mysql_query("SET login 'cp1251'"); ?>