Разработка Интернет-ресурса "Магазин программного обеспечения"
Предметная область, цель создания и группы пользователей информационно-программного изделия. Сетевая организация распределения приложения в архитектуре клиент-сервер. Интерфейс пользователя. Реализация транзакций. Защита от несанкционированного доступа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.01.2013 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
"Московский государственный технический университет радиотехники, электроники и автоматики"
МГТУ МИРЭА
Факультет Информационных технологий
Кафедра Интеллектуальных технологий и систем
КУРСОВАЯ РАБОТА
по дисциплине
«Интернет-технологии и системы»
Тема курсовой работы «Разработка Интернет-ресурса «Магазин программного обеспечения»
Студент группы ИТА-1-08
Коровяков Г.А.
Руководитель курсовой работы
доцент кафедры ИТС, доцент, к.т.н.
должность, звание, ученая степень
Холкин И.И.
Москва 2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
1.1 Предметная область, цель создания и группы пользователей информационно-программного изделия
1.2 Структурная модель информационно-программного изделия
2. БАЗА ДАННЫХ
2.1 Структурная модель БД
2.2 Физическая реализация БД
3. ПРОЕКТ УДАЛЕННОГО ДОСТУПА В РАМКАХ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
3.1 Сетевая организация распределения приложения в архитектуре «клиент-сервер»
3.2 Требования к ресурсам сервера и ПК клиента
3.3 Пользовательский интерфейс
3.4 Реализация транзакций
4. ЗАЩИТА ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА
5. ТЕСТИРОВАНИЕ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
6. ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Приложение А
ВВЕДЕНИЕ
Для автоматизации учета программного обеспечения на компакт-дисках в Интернет-магазине предусматривается организация централизованной базы данных и распределённых баз данных на местах обработки информации. Для облегчения работы сотрудников при реализации процесса учета программного обеспечения создаётся информационная база.
Данная база данных разрабатывалась для интернет-магазина. Разрабатываемая база должна облегчить работу сотрудников организации при учете поступления и продажи программного обеспечения. Требования к работе изложены в задании на выполнение курсовой работы.
Целью данной курсовой работы является автоматизирование работы: сотрудников Интернет-магазина, занимающихся продажей дисков, хранения информации, а также обеспечение удаленного доступа.
При выполнении курсовой работы были использованы: операционная система Windows и настроенный локальный сервер (Apache2 + MySQL 5.5.93 + PHP5). Для написания сценария информационно-программного изделия был использован язык PHP. Написание сценариев на PHP было осуществлено с помощью приложения PHP Expert Editor, обеспечивающего удобное редактирование различных скриптов.
В результате выполнения курсовой работы была решена задача разработки информационно-программного изделия удаленного доступа к информационным ресурсам интернет-магазина, а также обеспечения авторизованного доступа и безопасности информационных ресурсов.
1. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
1.1 Предметная область, цель создания и группы пользователей информационно-программного изделия
Предметной областью курсовой работы является учет программного обеспечения в Интернет-магазине. Магазин занимается только продажей программного обеспечения на компакт-дисках. Целью данной курсовой работы является автоматизация работы сотрудников Интернет-магазина.
На основе проведенного анализа предметной области была разработана функциональная модель, главный блок которой представлен на рис. 1.1.
Рисунок 1.1. Главный блок функциональной модели.
При разработке информационно - программного изделия, для обеспечения ограниченного доступа и безопасности информационных ресурсов, были выделены следующие группы пользователей: Сотрудник, который может добавлять, удалять и изменять данные. Гость, который может только просматривать данные. Зарегистрированные пользователи, которые могут сделать заказ. Таким образом, были определены предметная область информационно - программного изделия и группы пользователей, которые имеют различные права на доступ к информационным ресурсам. Разработанное мною программное изделие позволяет хранить данные о программном обеспечении, сотрудниках, пользователях и продажах.
1.2 Структурная модель информационно-программного изделия
В данном подразделе приводится описание структурной модели создаваемого информационно - программного изделия и описание взаимодействия между отдельными его элементами. Рассмотрим структурную модель создаваемого информационно-программного изделия и взаимодействие между отдельными ее элементами. В результате рассмотрения целей создания информационно-программного изделия и выполняемых им задач была разработана структурная модель, представленная на рис. 1.2.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 1.2. Структурная модель информационно-программного изделия.
Файловая система пользовательского интерфейса состоит из различных файлов, в которых содержится код сценария, который выполняет соответствующую функцию. Модульная структура программного продукта изображена на рис. 1.3. Листинги файлов представлены в приложении А.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 1.3. Модульная структура программного продукта.
Структурная модель файловой системы пользовательского интерфейса информационно-программного изделия удаленного доступа к информационным ресурсам Интернет-магазина отражает взаимодействие скриптов друг с другом.
В таблице 1.1. приведено назначение каждого файла файловой системы пользовательского интерфейса.
Таблица 1.1. Назначение файлов в файловой системе интерфейса пользователя
Файл |
Назначение |
|
index.htm |
Содержит исходный код стартовой страницы |
|
auto.php |
Содержит форму авторизации и панель администратора |
|
сonfig.php |
Содержит основные настройки информационно - программного изделия |
|
view.php |
Содержит скрипт для вывода выбранной таблицы |
|
upload.php |
Содержит скрипт для добавления данных |
|
edit.php |
Содержит скрипт для редактирования записей выбранной таблицы |
|
search.php |
Содержит скрипт для поиска нужного программного обеспечения |
|
save.php |
Содержит скрипт для сохранения данных в таблицу «Товары» |
|
mail.php |
Содержит форму для добавления заказа |
|
registration.php |
Содержит форму регистрации |
Карта разрабатываемого сайта представлена на рис. 1.3.
Рисунок 1.3. Карта сайта.
Таким образом, была разработана структурная модель информационно-программного изделия, а также структурная модель файловой системы пользовательского интерфейса, которые были использованы в разработке.
АНАЛИТИЧЕСКИЙ ОБЗОР И ВЫБОР СРЕДСТВ WEB- ПРОЕКТИРОВАНИЯ И WEB- ДИЗАЙНА
На предпроектной стадии разработки данного ресурса был проведен анализ доступных для использования средств разработки.
Основными требованиями при выборе были:
- поддержка языка программирования php (требование хостинга);
- поддержка языка программирования Javascript;
- поддержка баз данных MySQL (требование хостинга);
- простота и удобство в использовании;
- минимальное время на установку, настройку и освоение для начала использования.
В результате анализа были отобраны и использованы при разработке следующие инструменты:
Notepad++ (написание макетов страниц и кода)
- свободный текстовый редактор для Windows с подсветкой синтаксиса большого количества языков программирования и разметки. Он базируется на компоненте Scintilla, написан на C++ с использованием STL, а также Win32 API и распространяется под лицензией GPL. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры.
Основные особенности:
Подсветка текста и возможность сворачивания блоков, согласно синтаксису языка программирования.
Поддержка большого количества языков (C, C++, Java, XML, HTML, PHP, Java Script, ASCII, VB/VBS, SQL, CSS, Pascal, Perl, Python, Lua, TCL, Assembler).
Настраиваемый пользователем режим подсветки синтаксиса.
Одновременная работа с множеством документов.
Одновременный просмотр нескольких документов.
Поддержка регулярных выражений Поиска/Замены.
Полная поддержка перетягивания фрагментов текста.
Динамическое изменение окон просмотра.
Заметки.
Выделение скобок при редактировании текста.
Запись макроса и его выполнение.
Adobe Photoshop (редактирование изображений)
- это один из самых известных графических редакторов. Photoshop позволяет как создавать новые изображения, так и редактировать существующие графические файлы. Графический редактор применяют для создания фотореалистических изображений, работы с цветными сканированными изображениями, ретуширования, цветокоррекции, коллажирования, трансформации графики, цветоделения и т.д. Он располагает всеми методами работы с точечными изображениями, при этом имеет возможность работы со слоями и использует контуры. Adobe Photoshop является безусловным лидером среди профессиональных графических редакторов за счет своих широчайших возможностей, высокой эффективности и скорости работы.
phpMyAdmin в составе Denwer (создание и редактирование БД)
- это приложение, написанное на PHP и обеспечивающее полноценную, в том числе удаленную, работу с базами данных MySQL через браузер. Так как phpMyAdmin позволяет во многих случаях обойтись без непосредственного ввода команд SQL, то работа с базами данных становится вполне посильной задачей даже для человека весьма поверхностно знакомого с MySQL.
Denwer (тестирование web-ресурса)
- это набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц) на локальном ПК (без необходимости подключения к сети Интернет) под управлением ОС Windows.
PHP Expert Editor
- редактор для PHP, Perl, Python, HTML, JavaScript и других файлов с поддержкой UTF-8. Программа разработана специально для PHP-разработчиков, в неё интегрирована клиентская часть отладчика PHP DBG. Программа имеет встроенный HTTP-сервер и позволяет запускать на стороне сервера скрипты на PHP, Perl, Python.
Проверка синтаксиса PHP, встроенный браузер, FTP-клиент с поддержкой SFTP, обозреватель кода и файлов, поддержка проектов, настраиваемые шаблоны кода, настраиваемая подсветка кода, и многие другие функции для повышения удобства разработки.
2. БАЗА ДАННЫХ
2.1 Структурная модель БД
Рассмотрим структурную модель базы данных, полученную в результате исследования предметной области и построения функциональной диаграммы.
Для начала определим две основные задачи проектируемой системы:
хранить информацию о товарах, сотрудниках и пользователях.
добавлять информацию о товарах, сотрудниках и пользователях.
Из задач проектируемой системы были выявлены такие сущности как: «Товары», «Пользователи», «Группы пользователей», «Категория».
Основными являются сущности «Товары» и «Пользователи», которые используются для формирования списка закупленного программного обеспечения и списка пользователей соответственно.
Структурная модель базы данных «Учет программного обеспечения в Интернет-магазине» изображена на рис. 3.1.
Рисунок 3.1. Структурная модель базы данных
Таким образом, была разработана структурная модель базы данных, которая легла в основу создания физической модели БД.
2.2 Физическая реализация БД
На основе функциональной модели была создана физическая модель базы данных «Интернет-магазин». Каждая сущность структурной модели является таблицей в физической модели данных. Для создания базы данных и таблиц был использован локальный сервер, а также СУБД MySQL. База данных и таблицы были созданы путем выполнения запросов на языке SQL.
Для каждой таблицы были определены поля и их типы. Для связи между таблицами использовались первичные ключи, которые были определены для каждой таблицы.
Поля таблицы «category» и их атрибуты приведены в таблице 3.1.
Таблица 3.1. Таблица «Категории товаров» базы данных
Название атрибутов |
Тип полей |
Размер полей, байт |
Ключевое поле |
|
id |
int |
11 |
Да |
|
name |
varchar |
200 |
Нет |
Поля таблицы «tovar» и их атрибуты приведены в таблице 3.2.
Таблица 3.2. Таблица «Товары» базы данных
Название атрибутов |
Тип полей |
Размер полей, байт |
Ключевое поле |
|
id |
int |
10 |
Да |
|
title |
varchar |
200 |
Нет |
|
decription |
varchar |
200 |
Нет |
|
foto |
varchar |
200 |
Нет |
|
price |
int |
10 |
Нет |
|
author |
varchar |
100 |
Нет |
|
category |
int |
10 |
Нет |
Поля таблицы «users» и их атрибуты приведены в таблице 3.3.
Таблица 3.3. Таблица «Пользователи» базы данных
Название атрибутов |
Тип полей |
Размер полей, байт |
Ключевое поле |
|
id |
int |
11 |
Да |
|
login |
varchar |
200 |
Нет |
|
password |
varchar |
200 |
Нет |
|
|
varchar |
200 |
Нет |
|
group |
int |
10 |
Нет |
Поля таблицы «group_users» и их атрибуты приведены в таблице 3.4.
Таблица 3.4. Таблица «Группы пользователей» базы данных
Название атрибутов |
Тип полей |
Размер полей, байт |
Ключевое поле |
|
id |
int |
10 |
Да |
|
name |
varchar |
30 |
Нет |
3. ПРОЕКТ УДАЛЕННОГО ДОСТУПА В РАМКАХ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
3.1 Сетевая организация распределения приложения в архитектуре «клиент-сервер»
Информационно-программное изделие организовано по архитектуре «клиент - сервер» В этом случае сетевое программное обеспечение предполагает не только совместное использование ресурсов сети, но и обработку на сервере по запросам пользователей. Программное обеспечение в данном случае состоит из двух частей: сервера и клиента. Программа клиент выполняется на локальном компьютере пользователя, она посылает запросы программе-серверу и принимает от нее требуемую информацию. Программа-сервер работает на компьютере общего доступа, производит обработку поступающих к ней запросов и возвращает клиенту требуемые результаты. Схема архитектуры представлена на рис. 4.1.
Запрос
Ответ
Рисунок 4.1. Схема архитектуры «клиент-сервер».
3.2 Требования к ресурсам сервера и ПК клиента
Рекомендуемые технические средства и операционная система: ПЭВМ типа IBM PC, локальная сеть, операционная система Microsoft Windows 98/2000/XP/Vista/7. При создании информационно-программного изделия рекомендуется использовать пакеты серверных приложений локальный сервер (MySQL + Apache2 + PHP5) или TopServer или Denwer, содержащие web-сервер Apache, интерпретатор PHP, СУБД MySQL. При создании и отладке сценариев на языке PHP, а также при создании web-страниц на языке HTML, рекомендуется использовать редактор текстов программ Notepad++.
3.3 Пользовательский интерфейс
Для обеспечения удобного доступа к хранимым в базе данных информационным ресурсам был разработан пользовательский интерфейс, который обеспечивает удаленный доступ к ним и авторизацию пользователей.
При начальной загрузке системы запускается начальная страница, представленная на риc. 4.2.
Рисунок 4.2. Начальная страница сайта.
Для того чтобы войти в систему, необходимо нажать на «Главная» и заполнить форму входа.
Данные для входа:
Login: grigoriy Pass: 123 (сотрудник магазина).
Для пользователей, определенных выше, загружаются одинаковые начальные страницы, но сотрудник, в отличии от гостя имеет возможность редактировать, добавлять и удалять записи в таблицах. Пользователи имеют возможность зарегистрироваться.
На рис. 4.3. представлен вид таблицы «Товары».
Рисунок 4.3. Таблица «Товары»
Для группы пользователей кнопки изменить и удалить недоступны. Добавить записи в таблицы можно посредством панели администратора. Добавление также доступно только для группы сотрудников.
3.4 Реализация транзакций
На основе структурной модели программного продукта был разработан пользовательский интерфейс, обеспечивающий удобный доступ ко всем функциям, выполняемым информационно-программным изделием.
Разработанный продукт позволяет добавлять, изменять и удалять записи в зависимости от имеющихся прав. Данные действия были реализованы с помощью транзакций или запросов.
Для добавления записи в таблицу необходимо зайти на главную страницу и выбрать «Загрузка». После этого необходимо заполнить поля формы и нажать на кнопку «Загрузить». Для примера, на рис. 4.4. представлено окно добавления записи в таблицу «Товары».
Рисунок 4.4. Добавление записи в таблицу «Товары»
Для того чтобы изменить данные или удалить, необходимо выбрать нужную запись, к которой применяется операция. Справа от данных таблицы имеются две кнопки «Удалить» и «Изменить». Если нажать на кнопку изменения записи, загрузится страница с формой изменения записи, аналогичной форме добавления записи. Если нажать на кнопку удаления записи, то соответствующая запись будет удалена из базы данных.
Таким образом, была реализована поддержка выполнения транзакций по добавлению, изменению и удалению записей из таблиц.
4. ЗАЩИТА ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА
программный интерфейс сервер
Данная задача была решена средствами языка PHP: для этого была создана защита от несанкционированного доступа к информационным ресурсам.
После того, как был выбран пользователь и введен пароль, а затем нажата кнопка Вход, введенные данные сравниваются с данными, которые хранятся в файле в базе данных MySQL.
Если пользователь правильно ввел пароль, то он переходит на соответствующую страницу. Данные для входа в систему были описаны выше.
Таким образом, с помощью защиты от несанкционированного доступа обеспечивается ограниченный доступ к базе данных, а также обеспечивается ее безопасность.
5. ТЕСТИРОВАНИЕ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
Для тестирования созданного информационно-программного изделия были проверены на корректность выполнения функции, выполняемые системой.
Проверка защиты от несанкционированного доступа заключалось в вводе неправильных паролей. Например, был введен пароль «1234». После подтверждения ввода система потребовала ввести пароль еще раз.
Для проверки функционала добавления значений в базу данных, в окне добавления товара были введены данные. Это показано на рис. 4.4.
После чего была нажата кнопка «Добавить», в результате при выводе списка товаров, в нем появился новый товар с введенными ранее данными. Результат представлен на рис. 6.1.
Рисунок 6.1. Добавленная запись в таблице «Товары»
Для проверки корректного удаления записи была нажата кнопка «Удалить» для удаления записи таблицы. Результат вывода на экран всех записей таблицы «Товары» представлен на рис. 6.2.
Рисунок 6.2. Таблица «Товары» после удаления записи
В результате тестирования информационно-программного изделия была доказана его работоспособность, а также корректность выполнения системой функций по работе с информационными ресурсами Интернет-магазина.
6. ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ИНФОРМАЦИОННО-ПРОГРАММНОГО ИЗДЕЛИЯ
Для начала работы с программным продуктом, введите в адресной строке браузера адрес сервера, на котором установлено информационно - программного изделие «Интернет-магазин ПО». В данном случае это адрес http://velvetdust.ru/
Далее вам следует выбрать пользователя. Если выбрали сотрудника магазина, необходимо ввести логин - grigoriy и пароль - 123. В зависимости от выбранного пользователя информационно - программного изделие произведет переадресацию на стартовую страницу.
Для навигации по базе данных требуется выбрать соответствующий пункт в верхней части страницы.
Сотрудник организации имеет возможности добавлять, редактировать и удалять данные.
Для добавления записи следует перейти на главную страницу и выбрать «Загрузка». После чего система предложит вам заполнить требуемые поля и после нажатия кнопки «Загрузить» запись будет добавлена, а пользователь будет переадресован.
Для удаления записи вам следует нажать на кнопку «Удалить» расположенную справа от каждой записи.
Для редактирования записи вам следует нажать на кнопку «Изменить», которая расположена справа от каждой записи.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы, был разработан и опубликован в сети Internet web-ресурс «Электронный магазин программного обеспечения», доступный для ознакомления по адресу: http://velvetdust.ru/
Данный web-ресурс разрабатывался для учета программного обеспечения в Интернет-магазине. Разрабатываемое информационно - программное изделие должно упростить работу сотрудников Интернет-магазина при продаже программного обеспечения.
При выполнении курсовой работы был использован локальный сервер (MySQL + Apache2 + PHP5). Для написания сценария информационно-программного изделия был использован язык PHP. Написание сценариев на PHP было осуществлено с помощью приложения PHP Expert Editor, обеспечивающего удобное редактирование различных скриптов.
В результате выполнения курсовой работы была решена задача разработки информационно-программного изделия удаленного доступа к информационным ресурсам «Интернет-магазин программного обеспечения», а также обеспечения авторизованного доступа и безопасности информационных ресурсов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лещев Д. Создание интерактивного web-сайта: учебный курс / Д. Лещев. - СПб.: Питер, 2003. - 544 с.
2. Мельников П.П. Технология разработки HTML-документов: Учеб. Пособие. - М.: Финансы и статистика, 2005. - 112 с.
3. Попов В.П. Основы информационных и телекоммуникационных технологий. Сетевые информационные технологии: Учеб. Пособие. - М.: Финансы и статистика, 2005. - 244 с.
Приложение А
Листинги файлов
Index.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Интернет-магазин по продаже софта на CD</title>
<link href=" css/default.css" type="text/css" rel="stylesheet" />
<link href=" css/engine.css" type="text/css" rel="stylesheet" />
<link href=" css/defaultpl.css" type="text/css" rel="stylesheet" />
</head>
<body id="wrapper">
<div id="mask"></div>
<div class="bd-blhead">
<div id="middleside">
<ul id="logo">
<a href="/index.php"></a>
</ul>
</div>
</div>
<ul class="btop">
<li class="rndleft"><img src=" images/topl.png" /></li>
<li class="rndright"><img src=" images/topr.png" /></li>
<li class="cntr"></li>
</ul>
<div class="bd-block" id="content">
<div id="hmenu">
<ul>
<li id="rndl"></li>
<li><a href="index.php" target="content">Главная</a></li>
<li><a href="view.php" target="content">Каталог</a><br></li>
<li><a href="view.php?category=1" target="content">Windows</a></li>
<li><a href="view.php?category=2" target="content"> Антивирусы </a></li>
<li><a href="view.php?category=3" target="content"> ABYY Fine Reader </a></li>
<li><a href="search.php" target="content">Поиск</a></li>
<li><a href="registration.php" target="content">Регистрация</a></li>
<li><a href="http://localhost/tools/phpmyadmin/" target="_blank">База данных</a></li>
<li id="rndr"></li>
</ul>
</div>
<div id="news">
<iframe src="view.php" width="100%" name="content" height="500" align="center" scrolling="0" marginheight="0" marginwidth="0" frameborder="0"></iframe>
<br>
</div>
</div>
<ul class="bbot">
<li class="rleft"><img src=" images/bl.png" /></li>
<li class="rright"><img src=" images/br.png" /></li>
<li class="centr"></li>
</ul>
<div id="footer">
<ul id="footb">
<li id="count"><br></li>
</ul>
</div>
</body> </html>
Edit.php
<?php
session_start ();
$type = $_REQUEST['type'];
$id = $_REQUEST['id'];
include "config.php";
if (isset($type)) {
switch ($type) {
case edittovar:
echo "<center><h3>Редактирование</h3><table><form action='save.php'>";
$sql=mysql_query("select * from tovar WHERE id=$id;");
if ($sql) {
while($get_post = mysql_fetch_array($sql))
{
echo "<tr><td>Название</td><td> <input type=text name='title' value='".$get_post[title]."'></td></tr>
<input type=hidden name=id value=$id>
<input type=hidden name=type value=$type>
<tr><td colspan=2>Описание<br> <textarea rows='10' cols='30' name='decription'>".$get_post[decription]."</textarea></td></tr>
<tr><td>Телефон</td><td> <input type=text name='price' value='".$get_post[price]."'></td></tr>
<tr><td>Автор</td><td> <input type=text name='author' value='".$_SESSION[login]."'></td></tr>
<tr><td>Категория</td><td><select name='category'>";
$sql2 = mysql_query ("SELECT * FROM category;");
if($sql2)
{
while($group = mysql_fetch_array($sql2))
{
echo "<option value='".$group[id]."'>".$group[name]."</option>";
}
echo "</select></td></tr><tr><td colspan=2><input type=submit value=Сохранить></form></td></tr></table></center>";
}}}
break;
case deltovar:
mysql_query("delete from tovar where id=$id");
echo ("<script language=\"JavaScript\">
window.location.href = \"/view.php\"
</script>");
break;
case zakaz:
if (isset($_SESSION[login])) {
echo "<center><h3>Заказ</h3><table><form action='mail.php'>";
$sql=mysql_query("select * from tovar WHERE id=$id;");
if ($sql) {
while($get_post = mysql_fetch_array($sql))
{
echo "<tr><td>Наименование</td><td> <input type=text name='title' value='".$get_post[title]."'></td></tr>
<tr><td>Стоимость</td><td> <input type=text name='price' value='".$get_post[price]."'></td></tr>";
echo "<tr><td>Ваш логин </td><td> <input type=text name='login' value='".$_SESSION[login]."'></td></tr>";
echo "<tr><td colspan=2>Адрес<br> <textarea rows='5' cols='30' name='adres'>Пример: 450000, г. Уфа, пр. Октября 124</textarea></td></tr>
<tr><td colspan=2>Контактные данные<br> <textarea rows='5' cols='30' name='contact'>Пример: +7(348)3463453</textarea></td></tr>
<tr><td colspan=2><input type=submit value=Заказать></form></td></tr></table></center>";
}}
break;
} else echo "<center>Для заказа товара вы должны <a href=registration.php> зарегистрироваться </a> или <a href=index.php>авторизироваться ";}
} else echo "Данные не получены";
?>
View.php
<?php
session_start ();
include "config.php";
$category = $_REQUEST['category'];
if (isset($category)) {
$ath = mysql_query("select * from tovar where category=$category;");
if(mysql_num_rows($ath) > 0 )
{
echo "<table width=100% border=0>
<tr><td>Фото</td><td>Название</td><td>Описание</td><td>Стоимость</td><td>Автор</td><td>Операция</td></tr>";
while($get_tovar = mysql_fetch_array($ath))
{ echo "<tr ><td rowspan=1 width=100><img src=".$get_tovar['foto']." width=100 ></td>
<td>".$get_tovar['title']."</td>
<td width=300>".$get_tovar['decription']."</td>
<td>".$get_tovar['price']."</td>
<td>".$get_tovar['author']."</td>
<td><input type=button onclick='window.location=\"edit.php?type=zakaz&id=$get_tovar[id]\"' value=Заказать><br>";
if ($_SESSION['group'] == 1) {
echo "<input type=button onclick='window.location=\"edit.php?type=edittovar&id=$get_tovar[id]\"' value=Изменить><br>
<input type=button onclick='window.location=\"edit.php?type=deltovar&id=$get_tovar[id]\"' value=Удалить></td></tr>";
} else {
echo "</td></tr>";
} }
echo "</table>";
} else { echo "<p><b><center>Товары в данной категории отсуствуют ".mysql_error()."</b><p>"; exit(); }
}
else
{
$ath = mysql_query("select * from tovar;");
if($ath)
{
echo "<table width=100% border=0>
<tr><td>Фото</td><td>Название</td><td>Описание</td><td>Стоимость</td><td>Автор</td><td>Операция</td></tr>";
while($get_tovar = mysql_fetch_array($ath))
{ echo "<tr ><td rowspan=1 width=100><img src=".$get_tovar['foto']." width=100 ></td>
<td>".$get_tovar['title']."</td>
<td width=300>".$get_tovar['decription']."</td>
<td>".$get_tovar['price']."</td>
<td>".$get_tovar['author']."</td>
<td><input type=button onclick='window.location=\"edit.php?type=zakaz&id=$get_tovar[id]\"' value=Заказать><br>";
if ($_SESSION['group'] == 1) {
echo "<input type=button onclick='window.location=\"edit.php?type=edittovar&id=$get_tovar[id]\"' value=Изменить><br>
<input type=button onclick='window.location=\"edit.php?type=deltovar&id=$get_tovar[id]\"' value=Удалить></td></tr>";
} else {
echo "</td></tr>";
} }
echo "</table>";
} else { echo "<p><b>Error: ".mysql_error()."</b><p>"; exit(); }
}
?>
Upload.php
<?php
session_start ();
include 'config.php';
// Каталог, в который мы будем принимать файл:
$uploaddir = 'files/';
//Проверка расширения файла
$blacklist = array(".php", ".phtml", ".php3", ".php4");
foreach ($blacklist as $item) {
if(preg_match("/$item\$/i", $_FILES['uploadfile']['name'])) {
echo "РНР скрипты запрещены к загрузке \n";
exit;
}
}
//Проверка типа этап 2
$imageinfo = getimagesize($_FILES['uploadfile']['tmp_name']);
if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/png') {
echo "Только JPEG, PNG, GIF <br>";
exit;
}
$file = $uploaddir.basename($_FILES['uploadfile']['name']);
// Копируем файл из каталога для временного хранения файлов:
copy($_FILES['uploadfile']['tmp_name'], $file);
// Выводим информацию о загруженном файле:
echo "<h3>Информация о товаре: </h3>";
$title = $_REQUEST['title'];
echo "<br>Название: ".$title;
$description = $_REQUEST['description'];
echo "<br>Описание: ".$description;
$price = $_REQUEST['price'];
echo "<br>Стоимость: ".$price;
$dateadd = date( 'l d F', time() );
echo "<br>Дата добавления: ".$dateadd;
$author = $_SESSION['login'];
echo "<br>Автор: ".$author;
$foto = "http://".$_SERVER["HTTP_HOST"]."/".$uploaddir.$_FILES["uploadfile"]["name"];
echo "<br><img src=".$foto." height=100 width=100>";
$category = $_REQUEST['category'];
$ins_tovar = mysql_query("INSERT INTO tovar VALUES ('NULL', '$title', '$description', '$foto', '$price', '$author', '$dateadd','$category')");
if ($ins_tovar) { echo "<br>Товар добавлен"; } else {echo "<br>Ошибка при добавлении ".mysql_error();}
?>
Registration.php
<?php session_start (); ?>
<html>
<center><table>
<form action=''>
<tr><td>Логин</td><td><input type="text" name="login"></td></tr>
<tr><td>Пароль </td><td><input type="text" name="pass1"></td></tr>
<tr><td>Повтор пароля</td><td><input type="text" name="pass2"></td></tr>
<tr><td>E-mail </td><td><input type="text" name="email"></td></tr>
<?php if ($_SESSION['dostup'] == 1) {
include "config.php";
$sql = mysql_query ("SELECT * FROM group_users;");
if($sql)
{
echo "<tr><td>Группа </td><td><SELECT name=group>";
while($client = mysql_fetch_array($sql))
{
echo "<option value=$client[id]>$client[name]</option>";
}
echo "</SELECT></td></tr>";
}
else echo "Ошибка";
}
?>
<tr><td colspan=2><input type=submit value=Добавить></td></tr>
</form></table>
<?php
if (isset($_REQUEST['login']))
{
$login = $_REQUEST['login'];
$r = mysql_query ("SELECT login FROM users WHERE login='$login'");
if ((mysql_num_rows($r) > 0)) {
echo "логин занят" ; exit;}
else echo "Свободен";
$pass1 = $_REQUEST['pass1'];
$pass2 = $_REQUEST['pass2'];
if ($pass1 <> $pass2) { echo "пароль не совпадают"; exit;} else { $password = md5($pass1); }
$email = $_REQUEST['email'];
$group = $_REQUEST['group'];
include "config.php";
$query = "INSERT INTO users VALUES ( NULL, '$login', '$password', '$email','$group')";
$rest = mysql_query($query);
if ($rest) { echo "Добавлено"; } else { echo "Ошибка"; };
}
?>
Search.php
<html>
<head>
<title>Поиск</title>
<body>
<center>
<form action="">
<table border=0>
<tr><td>Поиск по названию</td><td><input type=text name=tovar></td></tr>
<tr><td><input type=submit value=Найти></td><td><input type=reset value=Сброс></td></tr>
</table></form>
</body>
</html>
<?php
if (isset($_REQUEST['tovar'])) {
include "config.php";
$tovar = $_REQUEST['tovar'];
$rest=mysql_query("SELECT * FROM tovar WHERE title LIKE '%$tovar%';");
if ($rest) {
echo "<table width=100% border=0>
<tr><td>Фото</td><td>Название</td><td>Описание</td><td>Стоимость</td><td>Автор</td><td>Операция</td></tr>";
while($s_tovar = mysql_fetch_array($rest))
{
echo "<tr ><td rowspan=1 width=100><img src=".$s_tovar['foto']." width=100 ></td>
<td>".$s_tovar['title']."</td>
<td>".$s_tovar['decription']."</td>
<td>".$s_tovar['price']."</td>
<td>".$s_tovar['author']."</td>
<td><input type=button value=Заказать></td></tr>";
if ($_SESSION['group'] == 1) {
echo "<input type=button value=Изменить><input type=button value=Удалить></td></tr>";
}
echo ("</table>");
}} else echo "Не найдено";
}
?>
Index.php
<?php
session_start();
if (isset($_SESSION['login'])) {
if (isset($_SESSION['group']) == 1) {
echo "
<table width=100% border=0>
<tr>
<td><a href=/registration.php> Регистрация </a><br>
<a href=/1.php> Загрузка </a><br>
<a href=view.php> Просмотр</a><br>
<a href='/auto.php?add=out' title=Завершение сеанса> Завершить сеанс </a></td>
</tr>
</table>
";
} else { echo "
<table width=100% border=0>
<tr>
<td>
<a href=view.php> Просмотр</a><br>
<a href='/auto.php?add=out' title=Завершение сеанса> Завершить сеанс </a></td>
</tr>
</table>
";}
} else {
echo "<center><table border=0>
<form action=auto.php method=post>
<tr><td>Логин <td><input type=text size=15 name=login> andrey</tr>
<tr><td>Пароль<td><input type=password size=15 name=pass> 123</tr>
<tr><td><input type=submit value=Вход><td><input type=reset value=Очистить><input type=hidden name=add value=auto></tr>
</form></table>";
}
?>
Auto.php
<?php
session_start();
switch ($_REQUEST['add']) {
case auto:
$login= $_REQUEST['login'];
$pass= md5($_REQUEST['pass']);
include "config.php";
$rest=mysql_query("SELECT * FROM users WHERE (login='$login') AND (password='$pass');");
if (mysql_num_rows($rest)==0)
{
echo ("<center> Неверный логин/пароль<br></center>");
}
else
{
while($cookie = mysql_fetch_array($rest))
{
$_SESSION ['login'] = $login;
$_SESSION ['group'] = $cookie['group'];
}
echo ("<script language=\"JavaScript\">
window.location.href = \"/view.php\"
</script>");
break;
}
case out:
unset($_SESSION['login']);
unset($_SESSION['group']);
echo ("<script language=\"JavaScript\">
window.location.href = \"/view.php\"
</script>");
break;
}
?>
1.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Загрузка</title></head>
<body>
<form action=upload.php method=post enctype=multipart/form-data>
<input type=file name=uploadfile><br>
Название <input type=text name=title><br>
Описание <textarea rows=10 cols=45 name=description></textarea><br>
Стоимость <input type=text name=price><br>
<?php
include "config.php";
$sql = mysql_query ("SELECT * FROM category;");
if($sql)
{
echo "Категория <SELECT name=category>";
while($client = mysql_fetch_array($sql))
{
echo "<option value=$client[id]>$client[name]</option>";
}
echo "</SELECT><br>";
}
else echo "Ошибка";
?>
<input type=submit value=Загрузить></form>
</body>
</html>
Config.php
<?php
$dblocation = localhost;
$dbname = shop;
$dbuser = root;
$dbpasswd = '';
$link = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$link)
{
echo( "<P>В настоящий момент сервер базы данных не доступен.</P>" );
exit();
$only="1";
}
//else echo "Подключено";
if (!@mysql_select_db($dbname, $link))
{
echo( "<P>В настоящий момент база данных не доступна.</P>" );
exit();
$only="2";
}
mysql_query ( "SET NAMES CP1251" ) or die ( mysql_error () );
mysql_query ( "set character_set_client = 'cp1251'" ) or die ( mysql_error () );
mysql_query ( "set character_set_results = 'cp1251'" ) or die ( mysql_error () );
mysql_query ( "set collation_connection = 'cp1251_general_ci'" ) or die ( mysql_error () );
?>
Save.php
<?php
$type = $_REQUEST['type'];
echo $type;
$id = $_REQUEST['id'];
include "config.php";
if (isset($type)) {
switch ($type) {
case edittovar:
$title = $_REQUEST['title'];
$decription = $_REQUEST['decription'];
$price = $_REQUEST['price'];
$author = $_REQUEST['author'];
$category = $_REQUEST['category'];
IF (mysql_query("update tovar set title = '$title', decription = '$decription', price = '$price', author = '$author', category = '$category' where id=$id")) { echo "1";} else echo "Ошибка - ".mysql_error();
echo ("<script la1nguage=\"JavaScript\">
window.location.href = \"/view.php\"
</script>");
break;
}
} else echo "Данные не получены";
?>
Mail.php
<?php
$title = $_REQUEST['title'];
$price = $_REQUEST['price'];
$login = $_REQUEST['login'];
$adres = $_REQUEST['adres'];
$contact = $_REQUEST['contact'];
if (mail("manager@shop.ru", "Заказ: $title", "$title \n$price \n $login \n $adres \n $contact")) {
echo "<center>Уважаемый ".$login.", ваш заказ принят. Через некоторое время с Вами свяжется менеджер. Спасибо за покупку"; }
else echo "Ошибка" ;
?>
Размещено на Allbest.ru
Подобные документы
Многоуровневые архитектуры клиент–сервер. Диаграммы классов, реализующих уровни презентации, бизнес–логики и базы данных приложения. Словесное описание процесса выполнения транзакций. Создание, изменение и удаление хранимых процедур, их выполнение.
курсовая работа [3,4 M], добавлен 23.03.2013Разработка клиент-серверного приложения на основе TCP\IP соединения. Организация работы удаленного генератора псевдослучайных последовательностей. Описание основных функциональных модулей. Интерфейс пользователя, сетевое взаимодействие и алгоритм.
курсовая работа [223,6 K], добавлен 18.10.2013Теоретические основы проектирования баз данных (БД). Учет расчетов с поставщиками как предметная область БД. Разработка алгоритма, защита БД. Особенности создания физической формы модели, интерфейса пользователя. Практические методы защиты созданной БД.
курсовая работа [1,5 M], добавлен 16.12.2014Обзор программного обеспечения электронного магазина, использование языка программирования VbScript. Модельная и физическая структура, разработка регистрационной формы Web-сайта, подключение его к базе данных. Особенности создания страницы пользователя.
курсовая работа [2,2 M], добавлен 03.04.2013Рассмотрение свойств Web-ресурса, позволяющих решить выбранную задачу. Выбор графического режима Web-ресурса. Выбор программных продуктов для создания программного кода. Меры по защите пользователя от вредных воздействий, связанных с работой на ПК.
дипломная работа [2,7 M], добавлен 07.07.2022Реализация информационной системы "Стройгенплан" в архитектуре "клиент-сервер". Цели и задачи моделируемой информационной системы, ее функциональная и информационная модели. Описание программного обеспечения, разработанного в архитектуре "клиент-сервер".
курсовая работа [1,9 M], добавлен 30.08.2010Характеристика основных способов защиты от несанкционированного доступа. Разработка политики безопасности системы. Проектирование программного обеспечения применения некоторых средств защиты информации в ОС. Содержание основных разделов реестра.
лабораторная работа [1,9 M], добавлен 17.03.2017Интернет-магазин – программное обеспечение для удобства покупок и продаж с веб-сайта. Характеристика существующих средств проектирования и разработки информационных систем. Описание особенностей интерфейса разрабатываемого программного приложения.
курсовая работа [703,3 K], добавлен 07.05.2019Системный анализ предметной области. Выбор инструментальных средств для создания программного обеспечения. Программирование на стороне SQL-сервера. Создание клиентского Win-приложения, пользовательский интерфейс. Физическое проектирование базы данных.
курсовая работа [3,7 M], добавлен 20.11.2013Основы биометрической идентификации. Возможность использования нейросетей для построения системы распознавания речи. Разработка программного обеспечения для защиты от несанкционированного доступа на основе спектрального анализа голоса пользователя.
дипломная работа [2,8 M], добавлен 10.11.2013