ПЗ (1190832), страница 5

Файл №1190832 ПЗ (Web-приложение для стоматологической клиники ООО Семейная стоматология) 5 страницаПЗ (1190832) страница 52020-10-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

document.getElementById('registrblock').style.display='block';

document.getElementById('background').style.display='block';

}

function closeRegistr()

{

document.getElementById('registrblock').style.display='none';

document.getElementById('background').style.display='none';

}

При записи на приём и при регистрации после нажатия на кнопку всплывает сообщение об успешной или неуспешной записи или регистрации. Всплывающее сообщение разработано с помощью JavaScript (листинг 3.6).

Листинг 3.6 – Всплывающее сообщение

success: function(response){

var messageResp = new Array('Спасибо, мы свяжемся с вами в ближайшее время!','Сообщение не отправлено Ошибка базы данных','Нельзя отправлять пустые сообщения');

var resultStat = messageResp[Number(response)];

if(response == 0){

$("#surname").val("");

$("#name").val("");

$("#patronymic").val("");

$("#doctor").val("");

$("#datee").val("");

$("#timee").val("");

$("#tel").val("");

}

$("#resp").text(resultStat).show().delay(1500).fadeOut(1000);

}});

Таким образом, продемонстрированы примеры использования таких технологий для разработки клиентской части Web-приложения как HTML5, CSS3, JavaScript.

    1. Разработка серверной части Web-приложения

Для разработки серверной части использованы технологии PHP 5.6, MySQL 5.6. Архитектура разрабатываемого Web-приложения является трехуровневой. Трёхуровневая архитектура предполагает наличие следующих компонентов приложения:

– клиентская часть;

– серверная часть (PHP);

– СУБД (MySQL).

Рисунок 3.7 – Общий принцип работы Web-приложения

Для регистрации пользователей, записи на приём, составления медицинских карточек и добавления врачей после загрузки формы пользователь заполняет все поля формы, затем происходит проверка введённых данных и после этого все данные представляются в виде параметров POST-запросов. POST-запрос посылается на сервер, который обрабатывает запрос, извлекает POST и передаёт управление и данные PHP-скрипту. Далее происходит извлечение данных из массива $_POST и на основе этих данных составляется SQL-запрос к базе данных, который заносит данные в базу данных, а пользователь получает сообщение об успешном или неуспешном выполнении. В листинге 3.7 представлен SQL-запрос для внесения записи пациента в базу данных.

Листинг 3.7 – Внесение данных о пациенте в БД

if(isset($_POST['surname']) && isset($_POST['name']) && isset($_POST['patronymic'])&&isset($_POST['doctor'])&&isset($_POST['date'])&&isset($_POST['time'])&&isset($_POST['tel']))

{

$surname = strip_tags($_POST["surname"]);

$name = strip_tags($_POST["name"]);

$patronymic=strip_tags($_POST["patronymic"]);

$doctor=strip_tags($_POST["doctor"]);

$date=strip_tags($_POST["date"]);

$time=strip_tags($_POST["time"]);

$tel=strip_tags($_POST["tel"]);

if(!$msql)

{

echo 'Ошибка в подключении к MySQL '. mysql_error();

}

else

{

mysql_select_db("post", $msql);

if (!mysql_query("INSERT INTO AH2.patients (Фамилия, Имя, Отчество, Врач, Дата, Время, Телефон) VALUES('$surname', '$name', '$patronymic', '$doctor', '$date', '$time','$tel')"))

}

После того, как сотрудники клиники или администратор заполнили медицинскую карточку и нажали на кнопку «Скачать» открывается окно с текстовым документом, который можно скачать. В листинге 3.8 представлена часть кода для создания текстового документа.

Листинг 3.8 – Создание текстового документа

for($code_length = 3, $newcode = ''; strlen($newcode) < $code_length; $newcode .= chr(!rand(0, 2) ? rand(48, 57) : (!rand(0, 1) ? rand(65, 90) : rand(97, 122))));

$today = date('d-M-Y');

$g="<br>";

$file=fopen('medical-card/'.$newcode.'_'.'Medical Card'. '_'.$today.'.doc','w+');

fputs($file,'Номер карточки: '.$newcode. "<br>" );

fputs($file,'Фамилия Имя Отчеств:' .$_POST['surname']. " " .$_POST['name']. " " .$_POST['patronymic']."\n" );

fputs($file,'Пол:' .$_POST['paul']."\n" );

fputs($file,'Дата рождения:' .$_POST['date']."\n" );

fputs($file,'Адрес:' .$_POST['address']."\n" );

fputs($file,'Место работы:' .$_POST["work"]."\n" );

fputs($file,'Род занятий:' .$_POST["profession"]."\n" );

fputs($file,'Результат лечения:'.$_POST["therapy2"]. "\n" );

fputs($file,'К оплате в кассу:'.$_POST["payment"]. "\n" );

fclose($file);

readfile('medical-card/'.$newcode.'_'.'Medical Card'. '_'.$today.'.doc','w+');

Для авторизации пользователей после загрузки формы пользователь вводит логин и пароль. Далее данные представляются в виде параметров POST-запросов, которые посылаются на сервер, занимающийся обработкой запроса, извлечением POST и передачей управления и данных PHP-скрипту. После чего происходит проверка введённого логина и пароля с теми данными, что есть в базе данных. Если в базе данных есть такой логин и пароль, то в качестве ответа пользователь переходит в личный кабинет, в противном случае выводится сообщение об ошибке. В листинге 3.9 представлена часть кода авторизации.

Листинг 3.9 – Авторизация пользователей

$login = $_POST['login'];

$password = $_POST['password'];

$result = mysql_query("SELECT * FROM AH2.registratsiya WHERE Логин = '$login' AND Пароль = '$password'") or die(mysql_error());

$user1 = mysql_fetch_assoc($result);

mysql_free_result($result);

if ($user1)

{

$_SESSION['login'] = stripslashes(htmlspecialchars($_POST['login']));

$result1 = mysql_query("SELECT * FROM AH2.registratsiya WHERE Логин = '$login' AND Пароль = '$password' AND Пользователь= 'Доктор'");

$doctor1 = mysql_fetch_assoc($result1);

mysql_free_result($result1);

if ( $doctor1 )

{ ?>

<script>document.location.href='http://kur/the-entry-for-today.php'</script>;

<?php }

После того, как пользователь перешёл в личный кабинет создается сессия с его логином. По нажатию на кнопку «Выход» происходит удаление сессии (листинг 3.10).

Листинг 3.10 – Удаление сессии

session_start();

if($_POST['submit'])

{

$_SESSION = array();

session_destroy();

$_SESSION = array();

header ('Location: index.php');

exit();

}

Представление данных в подразделах «Редактировать информацию о врачах», «Запись на прием», «Запись пациентов» осуществляется с помощью SQL-запроса. Данные SQL-запросы позволяют выводить информацию о записи на приём на сегодня, на завтра, на неделю, на месяц и за всё время. В SQL-запросе указаны поля, которые необходимо выводить при различных условиях. Пример SQL-запроса представлен в листинге 3.11.

Листинг 3.11 – SQL-запрос на вывод данных о записи пациентов на месяц

$query="select id, Фамилия, Имя, Отчество, Врач, Дата, Время, Телефон FROM patients where Дата BETWEEN current_date and current_date + interval 30 day order by Дата, Время";

Редактирование записей происходит согласно выбранной фамилии. Сотрудники клиники или администратор выбирает из списка фамилий необходимую фамилию, выбирает поле, которые хочет изменить и вводит новые данные в выбранное поле. По нажатию на кнопку «Изменить», запрос посылается на сервер. Где сервер обрабатывает полученные POST-запросы, извлекает POST и передает данные PHP-скрипту. После чего, выполняется запрос на изменение данных в базе данных и пользователь в качестве ответа получает новые данные из базы данных у себя на странице. Часть кода для редактирования данных представлена в листинге 3.12.

Листинг 3.12 – Редактирование данных

Изменить в <?php echo '<select name="where"><option > выберите фамилию';

$i=0;

while($data = mysql_fetch_array($query)){

$i++;

echo'<option value="'.$i.'">'.$data['Фамилия'];}

echo '</select>';

$query4 = mysql_query('select Фамилия, Имя, Отчество, Врач, Дата, Время, Телефон from AH2.patients');

echo '<form method= "POST">'; ?>

поле

<?php echo '<select name="col1"><option>' ?> выберите поле для изменения

<?php for($j=0;$j<mysql_num_fields($query4);$j++){

echo'<option value="'.$j.'">'.mysql_field_name($query4, $j);}

echo '</select>'; ?>

на <input type= "text" name= "update" class="input" placeholder="введите текст изменения">

<input type= "submit" value= "Изменить" class="submit_edit">

Удаление записей происходит согласно выбранным данным из таблицы. Сначала зарегистрированный пользователь, сотрудник или администратор отмечает необходимые данные для удаления и нажимает на кнопку «Удалить». После чего, запрос посылается на сервер. Сервер считывает POST-запросы согласно выбранным checkbox, далее происходит считывание данных из массива $_POST и на основе этих данных составляется SQL-запрос к базе данных, который удаляет выбранные строки. В качестве ответа пользователь получает измененную базу данных у себя на странице. Часть кода для удаления данных из базы данных представлена в листинге 3.13.

Листинг 3.13 – Удаление данных

if($_POST["dfile"])

{

$mass=$_POST["dfile"];

$i=0;

while($mass[$i])

{

$link=mysql_connect("localhost", "root","") or die("Could not connect");

mysql_select_db("AH2") or die("Could not select database");

$s1="delete from patients where id=$mass[$i]";

$result1=mysql_query($s1) or die("Query failed");

$i++;

}

Header("Location: the-entry-for-today.php?i=2");

}

Таким образом, продемонстрированы примеры использования таких технологий для разработки серверной части Web-приложения как PHP 5.6 и MySQL 5.6.



4 Внедрение Web -приложения

    1. Публикация Web-приложения

Для публикации Web-приложения предприятием выбран домен –

семейнаястоматология27.рф. Публикация осуществлена на хостинге – beget. Beget входит в ТОП-10 лучший хостинг-провайдеров на территории России. Сервера находятся между западом и востоком России. Так как 100% посетителей Web-приложения являются жителями Дальнего Востока, то это благоприятно влияет на скорость загрузки ресурса, за счёт меньшего расстояния до физического хранилища данных.

Результат отображения Web-приложения на различных устройствах представлен на рисунках 4.1 – 4.3.

Рисунок 4.1 – Пример отображения

Web-приложения на ноутбуке

Рисунок 4.2 – Пример отображения

Web-приложения на планшете

Рисунок 4.3 – Пример отображения

Web-приложения на телефоне

Разработанное Web-приложение доступно по следующей ссылке:

http:// семейнаястоматология27.рф

    1. Продвижение Web-приложения

Для продвижения Web-приложения проведён анализ посещаемости социальных сетей [21]. Согласно проведённому анализу (рисунок 4.4), решено разместить рекламу в таких социальных сетях, как ВКонтакте, Одноклассники и Instagram.

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6686
Авторов
на СтудИзбе
290
Средний доход
с одного платного файла
Обучение Подробнее