<input type="text" name="living_quarter"><br />
<label>Нежилая площадь:</label><br />
<input type="text" name="not_living_quarter"><br />
<label>Общая площадь:</label><br />
<input type="text" name="area_common_property"><br />
<input type="submit" name="submit"><br />
</form>
</div>
Часть информации заносится в поле вручную. Для
остальная части был сделан специально выпадающий список с помощью тега
<select></select>. В тег <option></option> заносится
содержимое столбца «identificator» соответствующей таблицы, которая указана в
переменной $result. Это одна из двух причин, для чего были созданы другие
таблицы, на которые имеются ссылки. Принцип создания выпадающего списка очень
похож с созданием таблицы, поэтому я его описывать не стану. Результат можно
увидеть на рисунке 5.
Рисунок 5 - Добавление новой записи
Чтобы отправить в БД занесённые данные в этих полях, необходим файл query-invite.php, на который ссылается форма, описанная выше для занесения данных. Содержимое этого файла таково:
<?php_once "connection.php";
$query = "INSERT INTO houses VALUES(0, '".$_POST['house_id']."', '".$_POST['street']."', '".$_POST['build_year']."', '".$_POST['house_type']."', '".$_POST['house_wall_material']."', '".$_POST['heating_system']."', '".$_POST['hot_water_system']."', '".$_POST['cold_water_system']."', '".$_POST['living_quarter']."', '".$_POST['not_living_quarter']."', '".$_POST['area_common_property']."')";
$result = mysql_query($query, $connection ) or die("Не удалось подключиться к серверу");("Location: DB.php");
?>
Сначала, включаем в этот файл connection.php файл, чтобы подключиться к БД, в которую нужно занести данные. После в переменную $query записываем с помощью метода POST команду SQL запроса (он передаёт данные, используя тело http запроса, то есть в адресной строке эти данные не увидеть).
Затем отправляем сам запрос с помощью переменной $result. Если всё прошло успешно, то результат можно увидеть сразу, так как команда «header» отправляет на ту страницу, где отображается основная таблица. В противном же случае появится сообщение на отдельной странице с сообщением: “Не удалось подключиться к серверу”.
Теперь создадим блок авторизации пользователя. Он будет находиться в правой части шапки сайта, там, где людям привычнее всего его видеть. Сперва создадим форму блока авторизации в файле header.php.
<?php if($_SESSION['status'] != "login") {?>
<label>Логин:</label><br/>
<input type="text" name="name"><br/>
<label>Пароль:</label><br/>
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="Войти">
<button formaction="registration.php">Регистрация</button>
<?php } else if($_SESSION['status']=="login") {?>
<label>Добро пожаловать,<?php echo $_SESSION['login']?></label>
<button formaction="logout.php">Выход</button>
<?php } ?>
</form>
Здесь в принципе выполняется то же самое, что и при создании формы для занесения данных в таблицу. После этого был создан файл с именем login.php, код которого расположен ниже:
<?php_start();"connection.php";
$login = $_POST['name'];
$password = $_POST['password'];
$query = "SELECT * FROM user WHERE (login = '".$login."') && (password = '".$password."')";
$result = mysql_query($query, $connection);
$user = mysql_fetch_array($result);
$_SESSION['id'] = $user['id'];
$_SESSION['login'] = $user['login'];
$_SESSION['status'] = "login";("Location: index.php")
Сессия необходима, для «слежки» за зарегистрированным пользователем.
Для того, чтобы завершить работу с базой данных, необходимо создать отдельный файл logout.php и в нем прописать код для завершения сессии:
<?php_start();_destroy();
header("Location: index.php");
?>
Последним штрихом в создании данного сайта является создание ссылок в блоке меню. Для этого в ранее созданном фале menu.php я напишу такой код:
<div>
<font face="Times New Roman" size="3" color="black">
<table align="center" background="4.png"width="1000">
<tr>
<td height="30" width="70" align="center">Главная"><a href="index.php">Главная</a></td>
<td height="30" width="70" align="center">База данных"><a href="DB.php">База данных</a></td>
<td height="30" width="70" align="center">Контакты"><a href="cont.php">Контакты</a></td>
</tr>
</table>
Описывать не стану, так как все указанные команды были подробно описаны выше.
4. ТЕСТИРОВАНИЕ ПП
.1 Тестирование базы данных
Отладка абсолютно всего кода проходила в процессе разработки программного продукта.
Изначально, было сразу ясно, что если имеется база данных, то необходимо проверить стабильность её работы. Во время тестирования база данных оказалась надёжной.
Информация стабильно сохранялась в том формате, которую заносили. Не было ни потерь, ни посторонних символов. Сравнение кодировки символов работало стабильно.
база данные приложение авторизация
4.2 Тестирование сайта
Вся суть тестирования сайта заключается в нормальном отображении информации во всех популярных браузерах, а именно Google Chrome, Opera, Mozilla Firefox и Safari. Некоторые заказчики требуют, чтобы так же хорошо контент отображался и в браузере Internet Explorer.
За всё время тестирования контент не искажался,
не было замечено никаких дефектов во всех 5 перечисленных браузерах.
Тестирование проводилось на двух мониторах с разрешением 1280х768 и 1024х768.
4.3 Функциональное тестирование
В данном тестировании была проведена проверка исправности работы всех кнопок и ссылок.
Работа кнопки «войти» - исправна.
Работа кнопки «регистрация» - исправна.
Работа кнопки «выход» - исправна.
Работа кнопки «Добавить запись» - исправна.
Ссылки работают исправно и отправляют на тот файл или страницу, которая указана в самой ссылке.
ЗАКЛЮЧЕНИЕ
В процессе работы над ВКР был проведен аналитический обзор, в котором рассматривались подобные программные продукты, их функционал и интерфейс в целом. Были проведён анализ существующих и наиболее популярных и востребованных языков web-программирования. Для создания всего сайта ничего и ни у кого за основу не бралось. Весь интерфейс абсолютно свой. Для сайта была создана база данных, в которой хранятся как основные данные, необходимые для работы, так и данные пользователей. Во время разработки, а также по её окончании проводилось тестирование, в ходе которых все возможные дефекты были устранены. В будущем после существенной доработки проект можно опубликовать, а также использовать уже в качестве аналога рассмотренным программным продуктам.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Никсон, Р. Создаём динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 3-е изд. - СПб.: Питер, 2015. - 688 с.
. Мейер, Э. CSS - каскадные таблицы стилей. Подробное руководство, 3-издание. - Пер. с англ. - СПб: Символ-Плюс, - 2008. - 576 с., ил.
3. Htmlbook.ru | Для тех, кто делает сайты [Электронный ресурс]: офиц. сайт. - Режим доступа: <https://www.htmlbook.ru>.
. Крис, Джамеа. Эффективный самоучитель по креативному Web-дизайну. HTML, XHTML, CSS, JavaScript, PHP, ASP, ActiveX. Текст, графика, звук и анимация. Пер с англ./Крис Джамеа, Конрад Кинг, Энди Андерсон - М.: ООО «ДиаСофтЮП», 2005. - 672с.
. Зандстра, Мэтт. PHP: объекты, шаблоны и методики программирования, 4-е издание.: Пер. с англ. - М.: ООО «И. Д. Вильямс», 2015. - 576.: ил. - Парал. тит. англ.
ПРИЛОЖЕНИЕ 1
(код страницы, на которую отправляет кнопка «Добавить запись»)
<?php include "header.php" ?>
<?php include "menu.php" ?>
<?php include "connection.php"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<style>{: #00b0d8 url(3.png) repeat-x;
moz-background-size: 90%;
webkit-background-size:100%;
o-background-size: 100%;
}
<style>{: 300;
}
</style>
</style>
<body style="background-attachment: fixed" topmargin="0">
<div align="center">
<!--Document starts.-->
<form action="query-invite.php" method="post">
<label>Номер дома:</label><br />
<input type="text" name="house_id"><br />
<label>Улица:</label><br />
<input type="text" name="street"><br />
<label>Год ввода в эксплуатацию:</label><br />
<input type="text" name="build_year"><br />
<label>Тип здания:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM house_type");'<select style="width: 175px" name="house_type">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Внешний материал здания:</label><br />
<?php
$result = mysql_query("SELECT type FROM house_wall_material");'<select style="width: 175px" name="house_wall_material">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[type]'>$row[type]</option>";
}"</select>";
?></br>
<label>Система отопления:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM heating_system");'<select style="width: 175px" name="heating_system" >';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Система подачи горячей воды:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM hot_water_system");'<select style="width: 175px" name="hot_water_system">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Система подачи холодной воды:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM cold_water_system");'<select style="width: 175px" name="cold_water_system">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Состояние здания:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM house_state");'<select style="width: 175px" name="house_state">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Тип этажей здания:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM house_floor_type");'<select style="width: 175px" name="house_floor_type">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
<label>Система подачи электричества:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM electricity_system");'<select style="width: 175px" name="electricity_system">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Система газоснабжения:</label><br />
<?php
$result = mysql_query("SELECT identificator FROM gas_system");'<select style="width: 175px" name="gas_system">';($row = mysql_fetch_array($result))
{
$pole1=$row['identificator'];"<option value='$row[identificator]'>$row[identificator]</option>";
}"</select>";
?></br>
<label>Жилая площадь:</label><br />
<input type="text" name="living_quarter"><br />
<label>Нежилая площадь:</label><br />
<input type="text" name="not_living_quarter"><br />
<label>Общая площадь:</label><br />
<input type="text" name="area_common_property"><br />
<input type="submit" name="submit"><br/>
</form>
</div>
</body>
</html>
ПРИЛОЖЕНИЕ 2
(блок авторизации пользователя)
<?php include "header.php" ?>
<?php include "menu.php" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Регистрация</title>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<style>{: #00b0d8 url(3.png) repeat-x;
moz-background-size: 90%;
webkit-background-size:100%;
o-background-size: 100%;
}
</style>
<body style="background-attachment: fixed" topmargin="0">
<div align="center">
<!--Document starts.-->
<form action="query-registration.php" method="post">
<label>Логин:</label><br />
<input type="text" name="login"><br />
<label>Пароль:</label><br />
<input type="password" name="password"><br />
<label>email:</label><br />
<input type="email" name="email"><br />
<input type="submit" name="submit"><br />
</form>
</div>
</body>
</html>