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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    785,89 Кб
  • Опубликовано:
    2017-07-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Содержание

Введение

. Разработка БД

.1 Аналитический обзор разработки автоматизированных систем

.2 Анализ и выбор СУБД

.2.1 Microsoft Access

.2.2 СУБД MySQL

.2.3 CУБД Oracle

.2.4 Выбор СУБД

.3 Структурные схемы АС

.4 Разработка концептуальной (инфологической) модели

.5 Построение логической модели

.6 Выбор языка и среды программирования

.7 Разработка обобщенной блок-схемы алгоритма

.8 Разработка блок-схемы алгоритмов для отдельных подпрограмм

.9 Разработка пользовательского интерфейса автоматизированной системы

.9.1 Технические требования к программе или программному изделию

.9.2 Требования по надежности

.9.3 Требования к условиям эксплуатации

.9.4 Требования к аппаратным средствам

.9.5 Требования к документации

.9.6 Требования к безопасности

. Разработка сайта

.1 Анализ и выбор CMS

.1.1 Аналитическая часть

.1.2 Анализ аналогичных сайтов в сети Интернет

.2 Выбор CMS системы

.2.1 Сравнительный анализ CMS систем

.2.2 Обзор CSS-фреймворков

.3 Функциональные требования к сайту

.3.1 Требования к представлению сайта

.3.2 Графическая основа внутренних страниц

.3.3 Требования к структуре сайта

.4 Требования к системе управления сайтом

.5 Требования к дизайну сайта

.5.1 Главная страница ресурса

.6 Требования к информационному обеспечению

.7 Требования к разделению доступа

.8 Требования к безопасности

.9 Требования к программному обеспечению

.9.1 Требования к программному обеспечению серверной части

.9.2 Требования к клиентскому программному обеспечению

.9.3 Реализация по требованиям

. Тестирование

.1 Тестирование всей автоматизированной системы

.1.1 Методика тестирования

.1.2 Тестирование функционала сайта

.1.3 Результаты тестирования

Заключение

Список использованных источников

Приложения

Введение


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

Автоматизированная система управления или АСУ - Управляющая система, часть функций которой, главным образом функцию принятия решений, выполняет человек оператор.

Автоматизированная система состоит из информационной системы или web-сайта и панели администратора.

Целью дипломной работы является разработка web-сайта и панели администратора.

Веб - сайт рассчитан на среднестатистического пользователя сети интернет. Поэтому, наряду с широким применением графики, интерфейс сайта максимально прост и интуитивно понятен, но с другой стороны достаточно удобен и информативен.

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

Панель администратора - это «сердце» web-сайта. Из нее администратор производит все необходимые действия: работа с базой данных (редактирование и наполнение - занесение данных о договоре с клиентом, новых тарифных планов компании, возможные адреса для подключения к интернету), мониторинг (контроль роста числа новых клиентов или его спад), добавление контента на сайт.

 


1. Разработка БД

 

1.1 Аналитический обзор разработки автоматизированных систем


Разработка автоматизированной системы управления (АСУ) производится по ГОСТу 34, который должен фиксировать результаты проведенных работ.

Жизненный цикл процесса создания АСУ включает пункты:

-       Формирование требований к АС

-       Разработка концепции АС

-       Техническое задание

-       Эскизный проект

-       Технический проект

-       Рабочая документация

-       Ввод в действие

-       Сопровождение АС

Формирование требований к АС

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

В результате проведенных исследований должен быть составлен аналитический отчет, который должен содержать следующие пункты:

-       Объект, цели исследования и методология проведения исследовательских работ

-       Основные конструктивные, технологические характеристики

-       Основные требования пользователя к АС

-       Степень внедрения и рекомендации по внедрению АС

-       Область применения АС

-       Обоснование экономической эффективности создания АС

-       Прогнозы и предположения о развитии объекта исследования.

Разработка концепции АС

Исходя из результатов, прошедших исследований объекта, разрабатывается несколько вариантов концепций АС, удовлетворяющих требованию пользователей. Концепции АС могут быть представлены заказчику в виде отчета о выполненных работах, или отдельного документа.

Техническое задание (ТЗ)

Документ должен соответствовать требованиям и порядкам разработки, развития системы. Следовательно должны будут проводиться работы по испытанию и приеме системы в эксплуатацию.

Техническое задание должно включать следующие пункты:

-       Общие сведения

-       Назначение и цели развития системы

-       Характеристика объектов

-       Требования к системе

-       Состав и содержание работ по созданию системы

-       Порядок контроля и приема системы

-       Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

Эскизный и технический проект

На данном этапе выполняется разработка проектных решений АС:

-       Пояснительная записка к техническому проекту

-       Схема организационной структуры

-       Схема комплекса технических средств (КТС)

-       Схема функциональной структуры

-       Схема автоматизации

-       Перечень входных и выходных сигналов и данных

-       Описание автоматизированных функций

Рабочая документация

Этот этап выполняет разработку документации. Этот пакет документов также обсуждается с заказчиком в индивидуальной форме и фиксируется в ТЗ. Зачастую пакет рабочей документации содержит следующие документы:

-       Руководство пользователя (администратора)

-       Инструкция по эксплуатации комплекса технических средств (КТС)

-       Общее описание системы (в случае присутствия документа «Пояснительная записка к техническому проекту» данный документ нецелесообразен так большинство разделов дублируются)

-       Программа и методика испытаний.

Ввод в действие

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

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

По завершению эксплуатации проводятся испытания, результаты которых также должны быть записаны протоколом. По результатам испытаний принимается решение о передаче АС в промышленную эксплуатацию.

После полной передачи системы обе стороны подписывают «Акт выполненных работ».

Сопровождение АС

Этап сопровождения АС подразумевает выполнение работ по гарантийному и послегарантийному обслуживанию системы.

1.2 Анализ и выбор СУБД

1.2.1 Microsoft Access

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

-       Данные хранятся только в оном файле

-       Идет распределение по всем таблицамAccess предлагает нам огромное количество Инструментов, они помогают пользователю выполнять работу с данными за него при создании программ (приложений).

Его особенности:

-       Создает базы данных для огромного количества пользователей и помогает им подключаться единовременно к общей базе для всех.

-       Наблюдает за разграничением доступа к этой базе данных у пользователей и гарантирует защиту абсолютно всех данных:

) Защита с помощью пароля от базы данных

) Защита с помощью пароля пользователя

) Ограничивает многопользовательскую работу

) Все файлы базы данных грузятся на файловый сервер.

1.2.2 СУБД MySQL

MySQL - создателем этой базы является компания Oracle. Она написана на языках программирования C, C++.

Распространяется под GNU или под собственной лицензией. Создатели делают функциональность по заказу пользователей, благодаря таким заказам появился механизм когда синхронизируются две и более копий объектов.входит в состав серверов WAMP, AppServ и сборки серверов таких как Denwer, OpenServer. MySQL используется как сервер, к которому могут обратиться разны клиенты.

MySQL очень гибкая благодаря поддержки большого количества таблиц:

-       пользователи могут выбрать таблицы типа MyISAM, которые поддерживают полнотекстовый поиск.

-       таблицы InnoDB, которые поддерживают транзакции на уровне отдельных записей.

Благодаря архитектуре и лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.портирована на большое количество платформ, таких как:

-       Linux

-       Mac OS X

-       Windows XP/7/10

-       Windows Server

На официальном сайте MySQL для загрузки предоставляются:

-       исходные коды

-       откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.имеет интерфейс программирования программ для таких языков как: Delphi, C, C++, Java, Lisp, PHP, Python.является одной из самых распространенных СУБД, используемых в Web-приложениях. Она стремительно развивается и по умолчанию установлена на операционной системе FreeBSD. одна из самых производительных систем на рынке и имеет хорошую документацию на русском языке. Продукт поддерживается разработчиками.

1.2.3 CУБД Oracle

Oracle Database система управления базами данных компании Oracle.

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

Основа СУБД Oracle это сервер базы данных. Для систем крупного масштаба они предлагают следующее:

-       Oracle Database Enterprise Edition для нее есть целый набор опций, которые значительно расширяют возможности сервера.

-       Oracle Database Standard Edition предназначена для организации систем среднего масштаба

-       Oracle Database Personal Edition предназначена для персонального использования.наделен:

-       набором функций для работы с языком Java

-       доступа к данным через Интернет

-       системой оптимизации одновременного доступа.

Недостатком этой СУБД является:

-       сложность администрирования

-       высокая стоимость покупки.

Основные свойства СУБД:

-       высокая надежность.

-       разбиения баз данных на разделы, это упрощает управление большими базам данных.

-       наличие хороших средств защиты информации;

-       наличие широкого спектра средств администрирования;

1.2.4 Выбор СУБД

На основе сравнительного анализа СУБД, выбрана наиболее подходящая из них - MySQL, что позволит достичь цель, поставленную в данной работе.

MySQL является полностью бесплатной и стабильной СУБД с механизмом репликации данных, что позволит обеспечить безопасность системе от потери данных.

1.3 Структурные схемы АС

Использование современных автоматизированных систем позволяет существенно повысить управляемость и «прозрачность» деятельности сотрудников компании.

Автоматизировать процессы предприятия позволяет применение интеллектуальных блоков в автоматизированных системах.

Автоматизированная система состоит из следующих основных модулей: работа с данными пользователя, запросы к БД, информирования, приемка заявок, авторизация и регистрация, восстановление доступа к личному кабинету, статистика. (структура системы приведена на рис. 1).

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

Второй модуль осуществляет запросы к БД и шифрует передаваемые данные между клиентом и сервером.

Третий модуль предназначен для информирования как клиентов, так и сотрудников компании ООО «BusinessBox». Оповещает клиента о дате подключения, ежемесячной плате и администраторов о новой заявке и только что созданном аккаунте клиента.

Четвертый модуль осуществляет формирование заявки на подключение, отправленной на сервер клиентом.

Пятый модуль производит создание аккаунта нового клиента, если тот уже существует в БД, аккаунт не создается. Также производит авторизацию пользователя в системе. Модуль авторизации и аутентификации для сайта и панели администратора свой.

Шестой модуль производит восстановление доступа к личному кабинету, если пользователь забывает логин или пароль. Пользователь вводит почтовый адрес и номер лицевого счета, которые находятся в БД, заменяется старый логин или пароль на новый, введенный в поле формы восстановления.

Последний модуль собирает некоторые статистические данные и выводит в наглядном виде на панели администратора.

Рисунок 1. Укрупненная структурная схема АС

1.4 Разработка концептуальной (инфологической) модели


Инфологическая модель базы данных представлена на рисунке 2.

Рисунок 2. Концептуальная (инфологическая) модель Базы Данных.

1.5 Построение логической модели

Таблица 1. Атрибуты сущности «Договор»

Атрибут

Описание

Номер договора

Уникальный номер для идентификации договора

Номер клиента

Уникальный номер для идентификации клиента

Номер денежной операции

Уникальный номер для идентификации денежной операции как со стороны клиента, так и компании (ежемесячное списание средств)

Номер адреса

Уникальный номер для идентификации адреса подключения

Номер тарифа

Уникальный номер для идентификации тарифа

Дата заключения договора


Дата расторжения договора

Для расторжения договора в указанный календарный день

Баланс лицевого счета

Количество денежных средств для оплаты услуг в личном кабинете

Статус договора

Для идентификации состояния договора

Логин

Логин для доступа в личный кабинет клиента

Пароль

Пароль для доступа в личный кабинет клиента


Таблица 2. Атрибуты сущности «Клиенты»

Атрибут

Описание

Номер

Уникальный номер для идентификации клиента

ФИО

Фамилия имя отчество клиента

Пол

Пол клиента

Паспортные данные

Серия и номер паспорта клиента

Контактные данные

Для идентификации состояния договора


Таблица 3. Атрибуты сущности «Денежные операции»

Атрибут

Описание

Номер

Уникальный номер для идентификации операции

Номер договора

Уникальный номер для идентификации договора на который производится операция

Сумма операции

Сумма денежных средств для списания или пополнения

Дата операции

Дата пополнения или списания средств с лицевого счета


Таблица 4. Атрибуты сущности «Тарифы»

Атрибут

Описание

Номер

Уникальный номер для идентификации тарифа

Название тарифа

Уникальное название тарифного плана

Стоимость

Сумма денежных средств, которая будет списываться ежемесячно

Описание тарифа

Содержит информацию о тарифе (скорость в МБ/с и т.д.)


Таблица 5. Атрибуты сущности «Адрес подключения»

Атрибут

Описание

Номер

Уникальный номер для идентификации адреса

Улица

Название улицы

Дом

Номер дома

Корпус

Номер корпуса

Квартира

Номер квартиры


Логическая модель базы данных изображена на рисунке 3.

Рисунок 3. Логическая модель Базы Данных.

1.6 Выбор языка и среды программирования

Для достижения поставленной цели дипломного проекта были выбраны следующие языки программирования: языки разметки - HTML5, CSS, а также PHP, JavaScript и SQL. - стандартный язык для веб-браузеров для интерпретации информации из интернета. Является языком разметки. Все форматирование текста, изображения, цвета, фоны, создания ссылки и т.д. это делается в HTML. - это не продолжатель языка разметки гипертекста, а новая открытая платформа, предназначенная для создания веб-приложений использующих аудио, видео, графику, анимацию и многое другое.- каскадные таблицы стилей. Является формальным языком описания внешнего вида документа, написанного с использованием языка разметки.- PHP расшифровывается как "PHP Препроцессор Гипертекста", - первое P на самом деле означает в PHP акроним. PHP представляет собой более продвинутый язык веб-разметки, а также позволяет использовать переменные, а также скрыть свой код от внешнего мира. PHP также позволяет подключаться к базам данных и выводить информацию на веб-страницы, что позволяет создавать более сложный и интерактивный контент, чем HTML.- хотя и не веб-язык программирования, SQL является языком для общения с базами данных, который используется в сочетании с PHP для доступа и размещения веб-контента. SQL является бесплатным для персонального пользователя, и использует команды, которые на самом деле логичны при создании и доступа к содержимому.- мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Примененяется в браузерах как язык сценариев для придания интерактивности веб-страницам

В качестве среды разработки выбрана Codelobster PHP Edition - бесплатная интегрированная среда разработки приложений (IDE) для создания веб-приложений на языке PHP, которая поддерживает все необходимые языки программирования для разработки проекта: JavaScript, HTML, XML, SQL и CSS.

1.7 Разработка обобщенной блок-схемы алгоритма

Обобщенная блок схема алгоритма проиллюстирована на рисунке 4.

Рисунок 4. Обобщенная блок-схема алгоритма.

Работа программы начинается с загрузкой сайта в браузере на компьютере пользователя. Ожидаются определенные действия пользователя и в случае конкретного произведенного пользователем действия выполняется конкретная программа. На рисунке 4 представлена обобщенная блок-схема, в которой:

) запускается программа регистрации личного кабинета;

) запускается программа оплаты в личном кабинете;

) запускается программа аутентификации пользователя;

1.8 Разработка блок-схемы алгоритмов для отдельных подпрограмм

Рисунок 5. Блок-схема алгоритма работы программы принятия заявки от клиента на сайте.

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

Рисунок 6. Блок-схема алгоритма работы программы выполнения оплаты в личном кабинете клиента.

Программа начинается с обработки сессии клиента. Если тот зашел в личный кабинет, то появляется раздел в главном меню о возможности перейти на главную страницу и произвести оплату. После того, на главной странице личного кабинета отображается виджет оплаты, в котором вводится денежная сумма к оплате и ожидается нажатие на кнопку «продолжить оплату». После нажатия на эту кнопку, происходит переадресация на Яндекс оплату, где вводятся реквизиты клиента и перевод денег. После завершения оплаты идет переадресация в личный кабинет и данные в базе данных обновляются, рисунок 6.

Рисунок 7. Блок-схема алгоритма работы программы входа в личный кабинет.

Программа начинается с проверки заполнения полей в форме авторизации пользователя. Если поля заполнены, выполняется проверка существования аккаунта в БД. Проверяется логин, если такой имеется в БД, то потом выполняется проверка введенного пароля с паролем в БД. Если пароль правильный, тогда выводится на экране сообщение: «Вы успешно авторизовались». После успешной авторизации происходит переадресация в сам личный кабинет, рисунок 7.

Рисунок 8. Блок-схема алгоритма работы программы регистрации личного кабинета.

Работа программы начинается с обработки полей формы. Если поля заполнены правильно, то происходит запись нового аккаунта в БД и пользователь оповещается об успешном прохождении регистрации, рисунок 8.

 

1.9 Разработка пользовательского интерфейса автоматизированной системы

 

1.9.1 Технические требования к программе или программному изделию

Требования к функциональным характеристикам

Разработанная нами система должна соблюдать следующие функции:

Технические:

-       Хранение истории операций.

-       Ежемесячное списание за пользование услугами.

-       Генерация ID.

-       Хранение информации о зарегистрированных клиентах.

-       Хранение информации о зарегистрированных администраторах.

-       Формирование отчетов с использованием FastReport.

-       Перечисление средств с банковской карты

-       Накопление баллов за пользование услугами

-       Шифрование данных

Пользовательские:

-       Предоставление информации об отправленной заявке.

-       Предоставление регистрации и входа в личный кабинет

-       Предоставление формы оплаты за услуги

-       Предоставление интерфейса для удаленной поддержки пользователя

-       Предоставление пользователю возможности работы с компонентами в режиме исполнения.

-       Предоставление возможности использовать скидку за накопленные баллы

-       Предоставление статистической информации в графическом, табличном и др. виде.

 

1.9.2 Требования по надежности

Система должна гарантировать сохранность данных при сбоях и возможность дозаписи и/или перезаписи данных для восстановления работы при сбое.

1.9.3 Требования к условиям эксплуатации

Требования к условиям эксплуатации данного программного продукта

соответствуют требованиям, представляемым к условиям эксплуатации персонального компьютера: работа должна проводиться в нормальных климатических условиях - в помещениях с температурой окружающей среды от 10 до 35 градусов, и относительной влажностью от 20 до 80%.

1.9.4 Требования к аппаратным средствам

Состав аппаратных средств и их основные характеристики:

-       Не менее 1Gb RAM

-       ПО - Microsoft Office 2003 и выше.

 

1.9.5 Требования к документации

К программному изделию должны прилагаться следующие документы:

-       Техническое описание.

-       Руководство пользователя.

1.9.6 Требования к безопасности

Аппаратные средства должны соответствовать инструкции по эксплуатации ПК.

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

Передача данных должна происходить по протоколу https.- расширение протокола HTTP, для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443. Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения - от снифферских атак и атак типа man-in-the-middle.

Легко настраивается в Open Server и будет использоваться в качестве основного протокола передачи данных как на сайте компании, так и в панели администратора.

2. Разработка сайта

 

2.1 Анализ и выбор CMS

 

2.1.1 Аналитическая часть

Постановка задачи

В дипломной работе поставлена цель: разработать web-сайт ООО ”BusinessBox” Для этого нам потребуется:

)        разработать структуру сайта;

)        разработать личный кабинет для клиента;

)        разработать функционал оплаты через «Сбербанк»;

)        использовать язык разметки гипертекста html;

)        использовать для создания web-сайта программы: Adobe Photoshop, Codelobster PHP Edition;

)        заполнить разделы сайта актуальной информацией.

Разработанный web-сайт должен иметь следующие особенности:

)        понятная и простая структура для работы пользователей;

)        содержать актуальную информацию;

)        иметь удобный для пользователя интерфейс;

)        иметь личный кабинет

)        содержать форму для оставления заявки на подключение

)        содержать форму для оплаты за услуги

)        обеспечить безопасность передаваемых и хранимых данных от перехвата хакеров, а также быть устойчивой к сбоям

)        работать на различных ОС и Браузерах

)        быть адаптивным под разные размеры экрана, без снижения наглядности и удобства пользования сайтом

)        иметь сохраняемость данных в cookie файле

)        быстро реагировать на действия пользователей (время отклика сайта до 10 с)

2.1.2 Анализ аналогичных сайтов в сети Интернет

На просторах сети Интернет предоставлено множество сайтов, предложенных на данную тему, рисунок 9.

Рисунок 9. Сайт компании “ОнЛайм”

При анализе различных сайтов рассматривают сильные и слабые стороны различных компаний.

В таких сайтах сильной стороной является:

-       удобный интерфейс для клиентов.

-       Беспрепятственный доступ к информации.

-       Быстрое решение проблем

-       Частое обновление и вывод новой информации

Разработка сайтов реализовывается обычно на таких языках программирования: HTML, PHP, CSS. К плюсам также относятся: технические параметры, быстродействие сайта, кроссплатформенность.

Слабой стороной является то, что не все сайты сопровождаются разработчиками:

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

Это все можно решить путем работы специального сотрудника-администратора.

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

2.2 Выбор CMS системы

2.2.1 Сравнительный анализ CMS систем

CMS - это программное обеспечение, которое позволяет разрабатывать и поддерживать динамические информационные web-сайты. Существует платные CMS, например, Bitrix, NetСat, ABO.CMS, Amiro.CMS, UMI.CMS, Host.CMS и др., так и бесплатные CMS: Joomla, WordPress, Drupal, Typo3 и т.д., все они имеют особенности, преимущества и недостатки.

В целях выбора самого приемлемого бесплатного CMS для создания сайта интернет-провайдера провелось тестирование. Объектом анализа стала четыре бесплатных CMS: Joomla, Drupal, Wordpress, Typo3. Платные CMS системы не рассматриваются. Тестирование осуществлялось по таким параметрам: удобство пользования административной панелью, скорость разработки сайта на движке, возможность написания дополнительных модулей, реализация основных возможностей при построении образовательного сайта для интернет-провайдера.

Таблица 6. Анализ CMS.

CMS

Системные требования

Joomla Drupal

поддержка XML, поддержка базы данных:(mysql, mysqli), StringOverload выключена, поддержка INIgd, PHP XML extension, Hash and JSON, Php Data Objects (PDO)

полностью веб-интерфейс, беспрепятственная установка в несколько этапов.




Wordpress

MySQL 5.0 or greaterThe mod_rewrite Apache module


Typo3

openssl, gd

полностью веб-интерфейс, беспрепятственная установка в несколько этапов.


Таблица 7. Сравнение CMS

#

CMS

Проекты

Тренд

1

WordPress

5 516

Возрастает

2

Joomla!

6 453

Почти не изменяется

3

Drupal

3 359

Снижается

4

MODX

4 640

Снижается


Таблица 8. Сводный ТОП всех CMS.

#

CMS

Проекты

Тренд

1

1С-Битрикс

17 759

Почти не изменяется

2

WordPress

5 516

Возрастает

3

Joomla!

6 453

Снижается

4

Drupal

3 359

Снижается


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

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

2.2.2 Обзор CSS-фреймворков

Были протестированы такие фреймворки, как Gumby framework, Bootstrap, Uikit.

Плюсы CSS-фреймворков:

-             Кроссбраузерность

-             Возможность создать корректный HTML макет даже не очень опытному специалисту

-             Единообразие кода

-             Увеличение скорости разработки

Минусы:

-             Привязанность к стилю CSS библиотеки

-             Избыточный код

) Foundation Framework

С выходом 5 версии во второй половине 2013 года Foundation Framework от Zurb стал одним из лучших фреймворков для веб-дизайна.

Фреймворк использует 12-модульную сетку, как и Twitter Bootstrap; предоставляет реиспользуемые HTML-компоненты и плагины JavaScipt.

) Gumby FrameworkFramework построен на препроцессоре Sass, так что для того, чтобы разобраться с Gumby, необходимо будет понять Sass. Framework, как и Twitter Bootstrap, поддерживает Internet Explorer 8 и выше и все популярные open source браузеры.

Следуя стандартам, Gumby делит окно браузера на 12 модулей и поддерживает их гнездование. Но уникальность фреймворку придают такие новые концепции как Гибридные Сетки, Каскады и др. И естественно, Gumby предоставляет реиспользуемые CSS и плагины JavaScript.

) Twitter Bootstrap 3

Позволяет быстро создать адаптивный интерфейс. Осуществляется это посредством применения блоков сетки, классов CSS и компонентов Bootstrap.

Имеет стильный дизайн. HTML элементы, оформленные посредством CSS классов, и компоненты в Bootstrap имеют единый дизайн. Это означает то, что страница будет выглядеть в браузере привлекательно и стильно.

Фреймворк не требует хороших знаний технологий HTML, CSS, языка JavaScript и библиотеки jQuery. Другими словами, необходимо иметь только базовые знания этих технологий. Это связано с тем, что ваша задача в основном будет сводиться только в копировании и настройки готовых кусков HTML кода Bootstrap.

Поддерживает кроссбраузерность и кроссплатформенность. Данный фреймворк работает и адаптирован для всех популярных операционных систем и браузеров (Mozilla Firefox, Google Chrome, Safari, Internet Explorer и Opera), работающих в этих системах.

Является открытым и бесплатным фреймворком.

Для разработки был выбран фреймворк Bootstrap, так как был опыт работы с этим фреймворком ранее и он имеет все необходимые средства для создания хорошего сайта.

2.3 Функциональные требования к сайту

 

2.3.1 Требования к представлению сайта

У любого сайта имеется специальный список требований, который он должен соблюдать:

) Информативность.

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

) Безопасность.

Наш web-сайт должен иметь полную защиту от атак злоумышленников и различных вирусов. Основная задача защиты сайта - это отвечать требованиям безопасности, проводя анализ потенциально опасных уязвимостей чтобы в дальнейшем полностью их устранить. Безопасность сайта это не только безопасность кода и используемого ПО, а также безопасность его администрирования, сохранность паролей, защита от перегрузок и решение ряда вопросов с провайдером.

) Дружественный интерфейс.

Клиент должен легко и на интуитивно-понятном уровне находить нужный раздел.

) Адаптивный интерфейс.

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

) Необыкновенность.

Самое главное в любом сайте - это его контент, информация, которую он предлагает пользователям. Уникальность сайта в том, что он предоставляет то, чего не было раньше. Поисковая система, через которую пользователя ищет нужный сайт, анализирует уникальность контента по содержанию.
Контентная область первой страницы должна иметь следующие разделы:

вступительная статья о компании со ссылкой «подробнее», ведущей на раздел «О компании»;

новости - содержит последние новости (анонсы) в формате: дата, заголовок, краткое содержание;

краткая контактная информация вверху страницы - телефон и e-mail компании;

вверху страницы отображается имя пользователя зашедшего в Личный кабинет;

двухуровневое меню включающее все разделы сайта;

главный слайдер с отображением вводной информации со ссылкой «подробнее» или «подключить» если это информация о тарифе;

вход в личный кабинет;

чат с сотрудником располагается внизу страницы в виде кнопки;

2.3.2 Графическая основа внутренних страниц

Графическая оболочка внутренних страниц должна делиться на следующие разделы:

графическая шапка

навигационное меню сайта

ссылка «На главную»;

кнопка со входом в «Личный кабинет»;

навигационная панель по подразделам выбранного раздела сайта;

поле для отображения контента выбранной страницы сайта;

вверху страницы - краткая контактная информация - телефон и e-mail компании;

2.3.3 Требования к структуре сайта

Структура это своего рода схема связей переходов по разделам и страницам сайта. Если структура проста, то и ориентироваться в ней гораздо проще. В процессе реализации структура может изменяться, мы сделаем примерный шаблон, которого постараемся придерживаться при реализации сайта.

Структура имеет два вида:

) внешний;

) внутренний.

Внешней структурой это расположения основных блоков на сайте.

Внутренняя структура это «карта» сайта, ее можно использовать как наглядное изображение связи страниц и разделов между собой при помощи гиперссылок. Благодаря ей мы можем представлять, что и где располагается.

На рисунке 8 представлена логически продуманная схема внутренней структуры сайта.

С главной страницы можно перейти на любой основной раздел (акции, для дома, для бизнеса, о компании, контакты, личный кабинет)

Меню навигации отображается на каждой странице, так пользователи сайта смогут быстро перемещаться из раздела в раздел.

Первоначальная структура сайта представлена на рисунке 10

Рисунок 10. Структура сайта

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

Общие требования к административной части
Для получения доступа к административной части сайта необходимо указать определенный адрес в строке браузера и пройти аутентификацию.

Главная страница административной части должна содержать следующие пункты меню:

Мониторинг

новые пользователи

новые клиенты

расторгнуто договоров

зарегистрировано пользователей

количество посетителей сайта

Управление БД

клиенты

договоры

тарифы

денежные операции

покрытие

сотрудники

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

новости

акции

2.5 Требования к дизайну сайта

2.5.1 Главная страница ресурса

Сайт будет предназначен для пользователей, которым нужно подключить интернет. Наша цель создать удобный дизайн.

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

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

Синий - вызывает у людей ассоциации с чистотой, мечтательностью, нежностью, небосводом.

Зеленый - вызывает ассоциацию с гармонией, свежестью и радостью.

Белый - нейтральный цвет, будет служить фоном, так как он не утомляет глаза, а так же подцветкой товаров.

Оранжевый - придает хорошее настроение, дает оптимистический тонус и ассоциируется с ярким солнцем.

Розовый - дает ощущение радости, тепла, мягкости и нежности, привлекательный для глаз цвет.

Это описание основного цветового решения, но в процессе разработки могут подключаться другие цвета и оттенки.

Шрифт должен соответствовать следующим критериям:

) единый для всего сайта (отличаться могут только крупные заголовки);

) не использовать шрифты с засечками, так как они устарели и ухудшают читаемость текста.

Итак, мы подобрали подходящие элементы для создания дизайна.

Пример главной страницы нашего сайта представлен на рисунке 11.

Рисунок 11. Главная страница

На главной странице сайта должны быть расположены:

-             логотип организации, ее название;

-             краткую информацию о компании;

-             информативное меню, состоящее из 5-х или 6-и пунктов и подпунктов;

-             ссылки на внутренние разделы, новости, акции, тарифы и т.д.

-             контактные данные и форму обратной связи, с директивными указаниями пользователю (позвонить по номеру, написать письмо, зарегистрироваться);

-             подписную форму, пользовательскую карту (если таковая имеется).

) Наличие функции поиска

Является обязательным условием каждого крупного веб-проекта.

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

) «Сквозное» меню

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

Кроме того, подобное «сквозное» меню упрощает индексацию сайта для поисковых машин, способствует равномерному распределению «веса» между всеми страницами сайта.

) Именные обращения и приветствия

Пользователям, зарегистрированным на сайте, целесообразно показывать именные приветствия при входе на сайт. Такой подход имеет несколько положительных моментов:

-             вносит в веб-проект «живость»;

-             способствует доверительным отношениям;

-             переводит работу с сайтом в личностное русло.

) Цветовая палитра

Контрастность, понятность и умеренность - главные характеристики правильной цветовой палитры. Не рекомендуется использовать в дизайне сайта заумных и замысловатых шрифтов, которые:

-             сложно читаются;

-             требуют дополнительного внимания от посетителя;

-             сливаются с цветом фона;

-             слишком малы;

-             усложняют восприятие информации.

) Ничего лишнего

Объемные фотографии, анимационные ролики, графические элементы, картинки и изображения, - все это перегружает сайт, увеличивая скорость его загрузки, усложняя работу с виртуальным проектом.

) Адаптивный дизайн

Дизайн веб-страниц должен обеспечивать правильное отображение сайта на различных устройствах, подключённых к интернету и динамически подстраиваться под заданные размеры окна браузера.

Сайт может работать на смартфоне, планшете, ноутбуке и телевизоре с выходом в интернет, то есть на всем спектре устройств.

2.6 Требования к информационному обеспечению

) Требования к хранению данных

Все данные сайта должны храниться в структурированном виде под управлением реляционной СУБД. Исключения составляют файлы данных, предназначенные для просмотра и скачивания. Такие файлы сохраняются в файловой системе, а в БД размещаются ссылки на них.

) Требования к языкам программирования

Для реализации страниц и шаблонов должны использоваться языки HTML 5.0 и CSS. Исходный код должен разрабатываться в соответствии со стандартами.

Для реализации элементов клиентской части должны использоваться языки JavaScript и DHTML.

Для реализации динамических страниц должен использоваться язык PHP.

Для реализации адаптивности сайта должен использоваться выбранный нами Framework Twitter Bootstrap.

) Требования к организации гиперссылок

Ссылки на нашем сайте должны быть относительными.

) Требования к изображениям

Все иллюстрации вес которых более 1 kb должны быть с замещающим текстом. Все изображения должны быть в формате gif или jpg.

) Требования к размеру одной страницы

Размер одной нашей страницы сайта не должен превышать 1 МБ.

Размер слайдера не должен превышать 2 МБ.

2.7 Требования к разделению доступа

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

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

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

Все разделы системы управления сайтом открываются для доступа на чтение и редактирование с аутентификацией сотрудника.

При попытке входа в панель администратора у сотрудника, не прошедшего аутентификацию, должен быть запрошен логин и пароль.

После прохождения аутентификации система должна проверять полномочия сотрудника. Если доступ только чтение, сотруднику блокируются соответствующие разделы. Так, например, сотрудник отвечающий за мониторинг и анализ не имеет полномочий для редактирования БД.

2.8 Требования к безопасности

) Хостинг

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

) Надежный пароль

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

) Бекап сайта

Резервное копирование и хранение на локальном компьютере или жестком диске даёт возможность сохранить информацию сайта, упростит его восстановление в случае хакерской атаки.

) Протокол обмена данными

Протокол HTTPS, то есть «безопасный HTTP», был разработан для авторизации и защищенных транзакциях. Обмен конфиденциальной информацией должен быть безопасным, чтобы предотвратить несанкционированный доступ, именно для этого и нужен HTTPS. Во многих отношениях HTTPS идентичен HTTP. В обоих протоколах клиент (например, ваш браузер) устанавливает соединение с сервером через стандартный порт. Однако HTTPS обеспечивает дополнительный уровень защиты, поскольку применяет криптографический протокол SSL при обмене данными.

С технической точки зрения есть еще одно различие протоколов: в отличие от HTTP, для HTTPS по умолчанию используется 443 TCP-порт, т.е. протоколы HTTP и HTTPS используют два разных порта для коммуникации.работает совместно с криптографическим протоколом Secure Sockets Layer (SSL). Вместе они обеспечивают надежную передачу данных, и именно это отличие от HTTP учитывает Google.

Протокол устанавливается и настраивается на сервере компании и за его работоспособность отвечает сотрудник интернет-провайдера, а именно администратор.

2.9 Требования к программному обеспечению

 

2.9.1 Требования к программному обеспечению серверной части

Для функционирования сайта необходимо следующее программное обеспечение:

-             Операционная система - Windows XP/7/8/10 и Windows Server 2003;

-             Веб-сервер - Apache версии не ниже 1.3.26;

-             СУБД - MySQL версии не ниже 3.23;

 

2.9.2 Требования к клиентскому программному обеспечению

Сайт и панель администратора должны быть доступны для полнофункционального просмотра с помощью следующих браузеров:

-             MS IE 8.0 и выше;

-             Google Chrome версии 40 и выше;

-             Yandex browser 14.0 и выше

-             Opera 11.0 и выше;

-             Mozilla Firefox 40.0 и выше;

 

2.9.3 Реализация по требованиям

С учетом всех требований по реализации интерфейса и дизайна, описанных в предыдущих пунктах мы разработали наш сайт. Скриншоты страниц представлены на рисунках 12-17.

программирование сайт интерфейс алгоритм

Рисунок 12. Главная страница сайта

Рисунок 13. Раздел “Для бизнеса”

Рисунок 14. Раздел “Домашний”

Рисунок 15. Раздел “Контакты”

Рисунок 16. Вход в Личный кабинет

Рисунок 17. Регистрация пользователя

3. Тестирование


После того как сайт для компании был разработан, его необходимо протестировать и проверить на наличие ошибок.

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

Допущенные ошибки сайта - это ошибки при работе, или неприемлемое качество функционирования в определенных условиях эксплуатации. Протестировать сайт нужно обязательно, чтобы сайт мог подтвердить свое качество.

3.1 Тестирование всей автоматизированной системы

3.1.1 Методика тестирования

На данный день существует множество различных вариантов тестирования сайта. Рассмотрим некоторые из них и выберем один для тестирования нашего сайта.

Методы тестирования:

) Тестирование методом "чёрного ящика".

Метод подразумевает выполнение следующих пунктов:

-             Подготовьте корректный файл, который вводиться в программу.

-             Смена некоторых данных этого файла на случайные данные.

-             Открыть файл в программе.

-             Проанализировать ошибки.

) Тестирование методом "белого ящика" подразумевает:

-             Метод тестирует, правильно ли работает код программы.

3) Тестирование методом "серого ящика" подразумевает:

-             Тестирование документации и схемы информационных потоков. Этот метод должен проводить сам пользователь.

4) Тестирование нефункциональных аспектов.

-             Тестирование безопасности программы. Проверяют конфиденциальность и целостность.

-             Тестирование на эффективность.

-             Тестирование интерфейса пользователя, его практичность.

-             Тестирование на совместимость с программами.

Для тестирования нашего сайта использует метод ”черного ящика” прием разбиение на эквивалентность.

В таблице 9 представлено выделение классов эквивалентности.

Таблица 9. Классы эквивалентности

Правильные классы эквивалентности

Неправильные классы эквивалентности

Все обязательные поля формы необходимо заполнить.

Можно не заполнять обязательные поля.

Поля формы заполнены верно.

Поля формы заполнены не верно.

Указан один адрес.

Указано несколько адресов.

 

3.1.2 Тестирование функционала сайта

Когда мы тестируем сайт, то проверяем абсолютно все:

-             функциональность меню и форм

-             функциональность опций

-             возможность добавления новостей и каких-либо статей

-             переход между разделами сайта.

Проведем проверку функциональности входа в «Личный кабинет», заполняем форму и нажимаем войти, если же у вас нет аккаунта, то можно пройти регистрацию по нажатию кнопки зарегистрироваться, рисунок 18-19.

Рисунок 18. Форма заполнения входа в «Личный кабинет»

После нажатия на кнопку “Войти”, если все данные были введены верно, пользователь сможет зайти на свой аккаунт.

Рисунок 19. Форма заполнения Регистрации

После нажатия на кнопку “Зарегистрироваться”, если все данные были введены верно, новый аккаунт пользователя будет зарегистрирован в базе.

Рисунок 20. Таблица «Пользователи» в базе данных

В таблице представленной на рисунке 20 показано успешное добавление нового аккаунта.

Если вдруг пользователь забыл ввести пароль и произвел нажатие на кнопку “Войти”, то вход не будет выполнен, так как стоит ограничение. Аналогично с логином и формой регистрации, рисунок 21.

Рисунок 21. Некорректно введены данные

После того как данные были введены корректно пользователь может пройти в личный кабинет, рисунок 22.

Рисунок 22. Данные введены корректно

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

Рисунок 23. Функция оплаты услуг

Если пользователь забыл логин или пароль, для такого случая есть специальная функция восстановления личного кабинета, рисунок 24.

Очень удобная и полезная функция.

Рисунок 24. Восстановление личного кабинета.

3.1.3 Результаты тестирования

Тестирование разрабатываемого сайта в целом состоит из тестирования отдельных модулей.

При тестировании сайта была проверена работоспособность всех ссылок, расположенных на его страницах. В результате битых ссылок обнаружено не было.

При заполнении базы данных время на формирование запроса составляет менее 0,1 секунды.

Экспериментально установлена средняя скорость загрузки страницы при низкоскоростном канале составляет 2,5 секунды.

При тестировании системы сбоев не обнаружено.

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

 


Заключение


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

Спроектированный web-сайт соответствует требованиям, которые были заявлены заказчиком.

Заявленные требования:

) Сайт должен содержать информацию о компании и наличие лицензий.

) Иметь личный кабинет как юридического, так и физического лица, который отличается по форме регистрации и отображении информации в нем. Например, у юридического лица должен отображаться IP-адрес, название организации, адрес подключения, а также отображаться состояние счета, у физического лица должно отображаться ФИО, состояние счета.

) Возможность оплаты за услуги в личном кабинете.

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

) Возможность поделиться сайтом в социальных сетях с целью рекламы компании.

6) Созданный web-сайт прошел тестирование, может быть полностью работоспособным и использоваться в полной мере

Список использованных источников


1.      Авербах, В.С. Учебное пособие - Средства разработки сайтов разного уровня / Авербах, В.С - Самара: СГЭУ, 2010. - 114с.

.        Паттерсон, Л Использование HTML 4 / Паттерсон, Л - Москва: Вильямс, 1999. - 399 с.

.        Дарнелл, Р. JavaScript: Справочник / Дарнелл, Р. - Санкт-Петербург: Питер, 2000. - 191с.

.        Колисниченко, Д.Н. Современный сайт на РНР и JavaScript / Колисниченко, Д.Н. - Санкт-Петербург: Питер, 2009. - 176 с.

.        Нильсен, Я. Веб-дизайн. / Нильсен, Я. - Санкт-Петербург: Символ-Плюс, 2006. - 512 с.

.        Основы программирования [Электронный ресурс] - URL: http://2programmer.ru.

.        Учебник по интернет-программированию [Электронный ресурс] - URL: http://www.site-do.ru.

.        Боде, M.Н. Создание сайтов / Боде, М.Н. - Санкт-Петербург: Питер,2013.- 304с.

.        Дженнифер, Н.Р. Html, CSS / Дженнифер, Н.А. - Москва: Эксмо, 2014.-528с.

.        Методами Черного ящика и Белого ящика. [Электронный ресурс]: - Режим доступа: http://qalight.com.ua/24-baza-znanij/testirovanie/vidy-testirovaniya/65-metodom-chernogo-yashchika-i-belogo-yashchika.html

.        BusinessBox - Телекоммуникационные решения бизнес-класса. [Электронный ресурс]: - Режим доступа: http://businessbox.ru/

Приложение 1


Листинг файла PHP (оставление заявки)

Файл: application.php

<?php"db.php";('Content-type: application/json');

$data = $_POST;

//Оповещение админа

$name = $data['fullname'];

$email_address = $data['emailApp'];

$timecall = $data['timecall'];

$email_to = "barlogru@yandex.ru";

$to = 'barlogru@yandex.ru'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.

$email_subject = "Заявка на подключение: $name";

$email_body = "Детали:.\n\nName: $name\n\nEmail: $email_address\n\n\nTimeCall:\n$timecall";

$headers = "BuisnessBox.ru\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.

$headers .= "Отправил: $email_address";

//массив ошибок

$response_array = array();

// получение каптчи

$captcha = "";

if (isset($_POST["g-recaptcha-response"]))

$captcha = $_POST["g-recaptcha-response"];(!$captcha){

$response_array['status'] = 'error';json_encode($response_array);

//проверка и обработка каптчи

$secret = "6LeQyCMUAAAAAF4PKKJsAt1oq0FaQbt-QMk-vkMv";

$response = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secret."&response=".$captcha."&remoteip=".$_SERVER["REMOTE_ADDR"]), true);($response["success"] != false) {

@mail($to,$email_subject,$email_body,$headers);

$application = R::dispense('applications');

$application->full_name = $data['fullname'];

$application->type = $data['typeFace'];

$application->organisation = $data['organisation'];

$application->phone = $data['phoneApp'];

$application->email = $data['emailApp'];

$application->wifi = $data['wifi'];

$application->street = $data['street'];

$application->house = $data['house'];

$application->mewslat_email = $data['newslat_email'];

$application->time_call = $data['timecall'];

$application->tarif = $data['tarif'];

$application->internet = $data['internet'];

$application->phone = $data['phoneT'];

$application->phoneNew = $data['phoneNewT'];

$application->colocation = $data['colocation'];

$application->cloud = $data['cloud'];

$application->time_app = date("Y-m-d H:i:s");::store($application);

$sucsess['status'] = 'success';json_encode($sucsess);

}else{

$response_array['status'] = 'error';json_encode($response_array);

}

?>

Файл: db.php

<?php"libs/rb.php";::setup( 'mysql:host=localhost;dbname=Internet35','root');_start();

?>

Приложение 2


Листинг файла PHP (форма входа и регистрации в личном кабинете)

Файл: login.php - вход в личный кабинет.

<?php"db.php";('Content-type: application/json');

$data = $_POST;

$user = R::findOne('users', 'login = ?', array($data['login']));

$response_array = array();( $user )

{( md5($data['password']) == $user->password)

{

$_SESSION['logged_user'] = $user;

//Добавили активность в бд

$timeActiv = date("Y-m-d / H:i");

$id = $user->id;

//$id = R::load('$idBean', 1);

//$sql = "SELECT id as login FROM users WHERE login = '$data['login']'";

//$idBean= R::getRow('SELECT id AS login FROM users WHERE login = ?', array($data['login']));

$params = array('activity' => $timeActiv);

$user = R::load('users', $id);

$user->import($params);

$idBean = R::store($user);

//Сообщаем об успехе

$response_array['status'] ='success';

}else

{

$response_array['status'] = 'WrongPassword';

}

}else

{

$response_array['status'] = 'WrongLogin';

}json_encode($response_array);

?>

Файл: singup.php - вход в личный кабинет.

<?php"db.php";('Content-type: application/json');

$data = $_POST;

$response_array = array();( trim($data['login']) == '' )

{

$response_array['status'] = 'WrongLogin';

}( trim($data['email']) == '' )

{

$response_array['status'] = 'WrongEmail';

}( trim($data['email']) == '' )

{

$response_array['status'] = 'WrongEmail';

}( $data['password1'] == '' )

{

$response_array['status'] = 'WrongPassword';

}( $data['password2'] != $data ['password1'] )

{

$response_array['status'] = 'PasswordsDoNotMatch';

}( R::count('users', "login = ?", array($data['login'])) > 0 )

{

$response_array['status'] = 'userExists';

}( R::count('users', "ls = ?", array($data['ls'])) > 0 )

{

$response_array['status'] = 'lsExists';

}( R::count('users', "email = ?", array($data['email'])) > 0 )

{

$response_array['status'] = 'emailExists';

}

/*( $data['typelk'] == "fiz"){

( $data['surname'] == '' ){

$response_array['status'] = 'WrongSurname';

}( $data['name'] == '' ){

$response_array['status'] = 'WrongName';

}( $data['patronymic'] == '' ){

$response_array['status'] = 'WrongPatronymic';

}

}else {( $data['nameorg'] == '' ){

$response_array['status'] = 'WrongOrganisation';

}

}

*/( empty($response_array) )

{

$user = R::dispense('users');

$user->ls = $data['ls'];

$user->login = $data['login'];

$fiz='fiz';

$ur='ur';( $data['typelk'] == $fiz){

$user->type = 'fizik';

$user->surname = $data['surname'];

$user->name = $data['name'];

$user->patronymic = $data['patronymic'];

}( $data['typelk'] == $ur){

$user->type = 'urik';

$user->organisation = $data['nameorg'];

}

$user->phone = $data['phone'];

$user->email = $data['email'];

$user->password = md5($data['password1']);

$user->timeRegistration = date("Y-m-d");

$user->activity = '';

$user->street = '';

$user->house = '';

$user->ip = '';

$user->tarif = '';

$user->cash = 0;::store($user);

$sucsess['status'] = 'success';json_encode($sucsess);

}else{json_encode($response_array);

}

?>

Файл: logout.php - вход в личный кабинет.

<?php"db.php";($_SESSION['logged_user']);

header('Location: /');

?>

Приложение 3


Листинг файла PHP (страница личного кабинета)

Файл: LK.php

<?php"db.php";("Content-Type: text/html; charset=utf-8");

$data = $_POST;(isset($_POST['Newsletter-emailButton'])){( trim($data['Newsletter-email']) == '' || R::count('newslat', "email = ?", array($data['Newsletter-email'])) > 0)

{}else {

$Newsletter = R::dispense('newslat');

$Newsletter->email = $data['Newsletter-email'];::store($Newsletter);

}

}

$user = R::findOne('users', 'login = ?', array($_SESSION['logged_user']->login));( $user ){

$timeActive = $user->activity;

$timeRegistration = $user->time_registration;

$email = $user->email;

$phone = $user->phone;

$ls = $user->ls;($user->type == "urik"){

$organisation = $user->organisation;

$type = "Юридическое";

}else if ($user->type == "fizik"){

$surname = $user->surname;

$name = $user->name;

$patronymic = $user->patronymic;

$type = "Физическое";

}

$street = $user->street;

$house = $user->house;

$ip = $user->ip;

$tarif = $user->tarif;

$cash = $user->cash;

}

?>

<section id="lk">

<div>

<div id="main">

<div>

<div>

<div>

<div>

<header>

<div>

<strong>О счете</strong>

</div>

</header>

</div>

<div>

<div>

<h3>Лицевой счёт <br>№ <?php echo $ls; ?> </h3>

<p>

Состояние счета

</p>

<p>

<span id="dt" ></span>

</p>

<p>

<span id="money" ><?php echo $cash; ?></span> ₽

</p>

</div>

</div>

</div>

<div>

<button>Обновить</button>

</div>

</div>

<div>

<div>

<div>

<ul id="myTab">

<li>О профиле</a></li>

<li>Оплата</a></li>

</ul>

<div id="myTabContent">

<hr>

<div>

<h4>Информация о профиле</h4>

<table>

<tbody>

<tr><td>Зарегистрирован:</td><td><?php echo $timeRegistration; ?></td></tr>

<tr><td>Последняя активность:</td><td><?php echo $timeActive; ?></td></tr>

<tr><td>Лицо: </td><td><?php echo $type; ?></td></tr>

<?php

if ( $type == "Юридическое" ) {

echo "

<tr><td>Название организации:</td><td>".$organisation."</td></tr>

<tr><td>адрес:</td><td>".$ip."</td></tr>

";

}else if ( $type == "Физическое" ){

echo "

<tr><td>Фамилия:</td><td>".$surname."</td></tr>

<tr><td>Имя:</td><td>".$name."</td></tr>

<tr><td>Отчество:</td><td>".$patronymic."</td></tr>

";

}

echo "<tr><td>Адрес подключения:</td><td> ".$street.", ".$house." </td></tr>";

?>

<tr><td>Тарифный план:</td><td><?php echo $tarif; ?></td></tr>

</tbody>

</table>

</div>

<div>

<p></p>

<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/quickpay/shop-widget?account=410011292359055&quickpay=shop&payment-type-choice=on&mobile-payment-type-choice=on&writer=seller&targets=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0+%D0%B7%D0%B0+%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8+%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8+BuisnessBox&targets-hint=&default-sum=&button-text=01&successURL=http%3A%2F%2Fip%2FLK.php" width="450" height="198"></iframe>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</section>

Приложение 4


Листинг файла PHP (обработчик восстановления личного кабинета)

Файл: recoveryPHP.php

<?php"db.php";('Content-type: application/json');

$data = $_POST;

$response_array = array();( $data['type'] == "pass")

{

$user = R::findOne('users', 'login = ?', array($data['login']));( $user )

{( $data['pass1'] != $data ['pass2'] )

{

$response_array['status'] = 'PasswordsDoNotMatch';

}else if ( $user->email != $data['email']){

$response_array['status'] = 'WrongEmail';

}else {

$id = $user->id;

$params = array('password' => md5($data['pass1']));

$user = R::load('users', $id);

$user->import($params);

$idBean = R::store($user);

$sucsess['status'] = 'success';

//echo json_encode($sucsess);

}

}else{

$response_array['status'] = 'WrongLogin';

}

}elseif( $data['type'] == "log"){

$user = R::findOne('users', 'ls = ?', array($data['ls']));( $user )

{( $data['pass1'] != $data ['pass2'] )

{

$response_array['status'] = 'PasswordsDoNotMatch';

}else if ( $user->email != $data['email']){

$response_array['status'] = 'WrongEmail';

}else {

$id = $user->id;

//добавляем пароль

$params = array('password' => md5($data['pass1']));

$user = R::load('users', $id);

$user->import($params);

$idBean = R::store($user);

//добавляем логин

$params = array('login' =>$data['newlogin']);

$user = R::load('users', $id);

$user->import($params);

$idBean = R::store($user);

$sucsess['status'] = 'success';

}

}else{

$response_array['status'] = 'WrongLogin';

}

}( empty($response_array) )

{json_encode($sucsess);

}else{json_encode($response_array);

}

?>

 


Приложение 5


Листинг файла HTML (вывод информации на экран в личном кабинете)

Файл LK.php

<section id="lk">

<div>

<div id="main">

<div>

<div>

<div>

<div>

<header>

<div>

<strong>О счете</strong>

</div>

</header>

</div>

<div>

<div>

<h3>Лицевой счёт <br>№ <?php echo $ls; ?> </h3>

<p>

Состояние счета

</p>

<p>

<span id="dt" ></span>

</p>

<p>

<span id="money" ><?php echo $cash; ?></span> ₽

</p>

</div>

</div>

</div>

<div>

<button>Обновить</button>

</div>

</div>

<div>

<div>

<div>

<ul id="myTab">

<li>О профиле</a></li>

<li>Оплата</a></li>

</ul>

<div id="myTabContent">

<hr>

<div>

<h4>Информация о профиле</h4>

<table>

<tbody>

<tr><td>Зарегистрирован:</td><td><?php echo $timeRegistration; ?></td></tr>

<tr><td>Последняя активность:</td><td><?php echo $timeActive; ?></td></tr>

<tr><td>Лицо: </td><td><?php echo $type; ?></td></tr>

<?php

if ( $type == "Юридическое" ) {

echo "

<tr><td>Название организации:</td><td>".$organisation."</td></tr>

";

}else if ( $type == "Физическое" ){

echo "

<tr><td>Фамилия:</td><td>".$surname."</td></tr>

<tr><td>Имя:</td><td>".$name."</td></tr>

<tr><td>Отчество:</td><td>".$patronymic."</td></tr>

";

}

echo "<tr><td>Адрес подключения:</td><td> ".$street.", ".$house." </td></tr>";

?>

<tr><td>Тарифный план:</td><td><?php echo $tarif; ?></td></tr>

</tbody>

</table>

</div>

<div>

<p></p>

<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/quickpay/shop-widget?account=410011292359055&quickpay=shop&payment-type-choice=on&mobile-payment-type-choice=on&writer=seller&targets=%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0+%D0%B7%D0%B0+%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8+%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8+BuisnessBox&targets-hint=&default-sum=&button-text=01&successURL=http%3A%2F%2Fip%2FLK.php" width="450" height="198"></iframe>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</section>

Похожие работы на - Разработка автоматизированной системы для интернет провайдера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!