Материал: Разработка информационной системы для раскрытия отчетности жилищно-коммунальных организаций

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

<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>

Источник: https://www.bibliofond.ru/view.aspx?id=897000