Автоматизация магазина товаров для детей

Предположительно интернет-магазин разрабатывается в среде PHP. Технология Jv включает в себя клиентскую и серверную часть а также доступ к базам данных поэтому наиболее корректно проводить сравнение технологии Jv со связкой pche PHP MySQL.5 РНР 5 и РНР 4 Для создания интернет магазина была использована платформа PHP 5...

2015-08-17

6.25 MB

0 чел.


Поделитесь работой в социальных сетях

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


ВВЕДЕНИЕ

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

Целью данного курсового проекта является автоматизация магазина товаров для детей. Здесь спроектирована одна составляющая системы автоматизации – дополнительная услуга в виде интернет-магазина, которая намного упростит походы в магазин тем покупателям, которые физически не могут приехать в магазин в его рабочее время, либо кто просто хочет сэкономить время. Теперь любой сможет купить все необходимое, находясь дома, сидя за удобным креслом и медленно листая интернет-страницы одна за другой. Перед вами открыт огромный ассортимент товаров, а так же различных услуг по приемлемым ценам. Ведь интернет-магазины предлагают те же товары, но в большинстве своем по ценам производителя, которые порядком меньше цен в магазинах. Интернет-магазин, по мнению большинства – это одна из наиболее приятных «услуг» интернета. И они развиваются с каждым годом, все больше и больше, так как это действительно удобно.

Преимущества, которые дает интернет-магазин:

– интернет-магазин работает 24 часа в сутки, 365 дней в году, без перерыва на обед, без выходных и праздничных дней;

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

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

– интернет-магазин не имеет ограничений на виртуальную площадь, можно разместить сколь угодно много товаров или описать любое количество услуг;

– владелец интернет-магазина может сдавать в аренду свои виртуальные торговые площади так же, как и владелец обычного магазина;

– срок и стоимость создания интернет-магазина несоизмеримо ниже, чем обычного магазина;

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

Курсовой проект состоит из трех разделов.

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

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

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

Также, для наглядности курсовой проект сопровожден приложениями. В приложении А приводится алгоритм работы сайта, в приложении Б – исходные коды абсолютно всех файлов, описывающих работу данного интернет-магазина.


1 РАЗРАБОТКА СТРУКТУРЫ ПОСТРОЕНИЯ

 ЭЛЕКТРОННОГО МАГАЗИНА

1.1 Архитектура электронного магазина

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

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

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

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

Рисунок 1 – Архитектура интернет-магазина

1.1.1 Операционная часть

Программная часть архитектуры интернет-магазина рассматривается как взаимосвязь операционной и серверной части.

В операционной части рассматривается среда разработки интернет магазина.

Предположительно интернет-магазин разрабатывается в среде PHP. Для ответа обоснования выбора было произведено сравнение РНР с другими языками программирования Web-приложений. Это его основные конкуренты – Perl, ASP.NET, ColdFusion и Java.

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

1.1.1.1 РНР и Perl

Язык Perl является интерпретатором и появился намного раньше, чем Web. С появлением интернета язык Perl оказался удобным инструментом для создания динамических Web-страниц. Большое распространение Perl получил потому, что был доступен на каждом Web-сервере, поскольку практически все они работали под управлением UNIX, и альтернативой ему являлся лишь более сложный язык С.

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

1.1.1.2 РНР и Java

Вообще говоря, различают язык Java и технологию Java. Язык Java представляет собой С-подобный язык, который разрабатывался как "улучшенный C++". Технология Java включает в себя клиентскую и серверную часть, а также доступ к базам данных, поэтому наиболее корректно проводить сравнение технологии Java со связкой Apache/PHP/MySQL. Технология Java разрабатывалась как межплатформенная технология, позволяющая создавать Web-приложения корпоративного масштаба. Основными достоинствами этой технологии являются межплатформенная переносимость и объектно-ориентированный язык, что позволяет создавать сложные и объемные приложения. К числу недостатков можно отнести медленное выполнение, потребление большого количества памяти (плата за межплатформенную переносимость) и сложность разработки Web-приложений по сравнению с РНР. Между тем РНР почти не уступает Java в гибкости и масштабируемости созданных приложений. Кроме того, использование Java для разработки достаточно простых приложений вряд ли оправдано, а при работе над серьезными задачами Java обходится дороже.

1.1.1.3 РНР и ASP.NET

ASP (Active Server Pages) – язык сценариев от Microsoft. Если язык ASP значительно уступал РНР по многим параметрам, в первую очередь, по времени выполнения сценариев, то с появлением технологии ASP.NET ситуация изменилась.

Основное достоинство ASP.NET заключается в возможности применения всей мощи интерфейса Windows для разработки Web-приложений. Это позволяет разрабатывать страницы со сложным интерфейсом, не заботясь о сохранении, шифровании и передаче переменных, используемых на динамических страницах.

ASP.NET тесно интегрирован в новую технологию NET компании Microsoft. Главной особенностью разработки Web-приложений при помощи ASP.NET является возможность использовать любой язык программирования среды исполнения NET. Более того, в рамках одного Web-приложения могут быть использованы несколько языков программирования. Все это позволяет объединять в рамках одного проекта программистов, владеющих разными языками программирования. Код Web-приложения на ASP.NET компилируется в промежуточный язык MSIL (Microsoft Intermediate Language), иногда просто называемый IL. Аппаратно-независимый код на языке IL помещается в кэш Web-сервера для повышения производительности, по аналоги с байт-кодом Java. Но в отличие от технологии Java, обеспечивающей платформенную независимость, NET обеспечивает независимость от языка разработки. Выполнение Web-приложений ASP.NET на серверах, работающих не под Windows, практически невозможно. Более того, если Web-приложение интенсивно использует компоненты NET, просмотр динамической страницы будет возможен только под Windows и только с помощью браузера Internet Explorer. Поэтому в смысле переносимости РНР, безусловно, отличается от ASP.NET в лучшую сторону. Другой немаловажный довод в пользу РНР заключается в быстром исправлении обнаруженных ошибок. Еще одним плюсом РНР, особенно важным для начинающих, является то, что его легче использовать для построения Web-приложений.

Таким образом, при выборе между ASP.NET и РНР следует исходить из стоящей задачи. Если в сети Интранет крупной корпорации большинство серверов и клиентских машин работают под управлением Windows, применение ASP.NET более чем оправдано. В то же время для разработки Web-сайта, размещаемого в Интернете, целесообразнее использовать РНР.

1.1.1.4 РНР и ColdFusion

Пакет ColdFusion разработан фирмой Allaire и предназначен для быстрой разработки как интерактивных, так и динамических Web-документов путем обработки информации, полученной из базы данных. Минусом ColdFusion является достаточно низкая переносимость. РНР работает практически на всех платформах, a ColdFusion – только на четырех: Win32, Solaris, HP/UX и Linux. Кроме того, ColdFusion, так же как и ASP, является коммерческой разработкой. ColdFusion достаточно мало распространен. По сравнению с РНР он более требователен к ресурсам. Плюсом ColdFusion является хорошая интегрированная среда разработки и, как следствие, более простые, чем в РНР языковые конструкции и более быстрое написание кода. Правда, из-за такой высокоуровневости языка некоторые задачи на нем решаются сложнее.

1.1.1.5 РНР 5 и РНР 4

Для создания интернет магазина была использована платформа PHP 5. По сравнению с РНР 4, в пятой версии языка появились следующие особенности:

– введены закрытые (private) и открытые (protected) члены и методы класса, а также абстрактные классы и методы;

– введены интерфейсы, при этом класс может реализовывать произвольный список интерфейсов;

– в РНР 5 также присутствуют расширенные возможности для клонирования объектов. Предназначенный для этого конструктор копирования позволяет не просто идентично клонировать объекты, а изменять при этом некоторые их свойства;

– введены постоянные члены и методы класса;

– одним из важнейших нововведений является наличие деструкторов;

– хорошей новостью является введение в РНР 5 статических членов класса. В РНР 4, если возникала необходимость в использовании статических членов, приходилось пользоваться искусственным приемом, заключающемся в комбинации глобальных переменных со статическими методами. При этом получались члены, которые действовали так же, как статические. Прием этот, мягко говоря, не очень хороший, поскольку привносил с собой все проблемы, связанные с использованием глобальных переменных. Теперь в РНР 5 статические методы можно объявлять явно при помощи ключевого слова static;

– в РНР 5 введен механизм обработки исключений, отсутствующий в РНР 4.

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

1.1.1.6 Использование XML-списка в качестве БД

В качестве каталога товаров интернет-магазина используем базу данных, оформленную в XML. Сильные стороны баз данных XML:

– позволяют легко хранить документы с большим числом разнообразных форматов;

– в точности воссоздают исходный XML-документ;

– обеспечивают высокую производительность при запросах, если их результаты согласуются с иерархической структурой хранимых XML-данных;

– поддерживают языки запросов, учитывающие XML-стили.

Слабые стороны:

– незрелость, отсутствие многих функций управления и администрирования, стандартных для реляционных СУБД;

– трудность интеграции с отличными от XML типами данных;

– низкая производительность для запросов, требующих суммирования данных или связанных с данными, которые выходят за рамки XML-иерархии;

– частные фирменные API для формирования запросов и программирования.

По сравнению с реляционными базами SQL в иерархической базе данных XML текстовое представление информации и удобное ее редактирование через стандартный Блокнот либо программу MS Excel, что стало решающим фактором при выборе средств для базы данных.

1.1.2 Серверная часть

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

Денвер (Denwer) – это набор программ для создания сайта на локальном компьютере, без выхода в интернет. Проект Денвер был разработан Дмитрием Котеровым и включает в себя:

– Apache, SSI, mod_rewrite, mod_php;

– PHP с поддержкой GD и MySQL;

– MySQL с поддержкой транзакций (mysqld-max);

– систему управления виртуальными хостами, основанную на шаблонах;

– систему управления запуском и завершением;

– phpMyAdmin — систему управления MySQL через Web-интерфейс;

– ядро Perl без стандартных библиотек (они поставляются отдельно);

– эмулятор sendmail, поддерживается работа совместно с PHP и Perl;

– инсталлятор.

Главное достоинство и преимущество Денвера – легкая и удобная установка, простота использования. Без Денвера приходилось бы каждый из перечисленных программных инструментов устанавливать отдельно, да и еще и настраивать для корректного взаимодействия друг с другом. Кроме того, благодаря Денверу не нужно тратить денег ни на хостинг, ни на интернет-трафик, поскольку любые работы по отладке и тестированию сайта проводятся на локальном компьютере. Используя Денвер, легко можно разместить на компьютере несколько разных доменов и поддоменов благодаря системе управления виртуальными хостами. Достаточно добавить новую папку с именем сайта, перезапустить Денвер – и можно работать с новым сайтом.

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

1.1.3 Административная часть

Администрирование содержит инструменты управления интернет-магазином и включает в себя общие настройки магазина:

– общие настройки магазина: название магазина, адрес, телефон, e-mail адрес магазина и т.д.;

– настройки формы регистрации клиента в интернет-магазине;

– общие настройки доставки и упаковки товара;

– настройки склада;

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

– настройки формата вывода товара в интернет-магазине. Вы можете настроить формат вывода товара по своему желанию;

– всевозможные настройки каталога т.е. добавление, удаление, редактирование товара и категорий, работа с производителями, excel импорт/экспорт товаров и т.д.;

– управление оформленными заказами, управление зарегистрированными клиентами;

– добавление, удаление, изменений курсов валют;

– статистические отчеты о работе интернет-магазина;

– важные инструменты для работы интернет-магазина. Такие как резервное копирование базы данных, незавершенные заказы, поисковые запросы и т.д.

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

1.1.4 Клиентская часть

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

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

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

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

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

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

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


1.2 Разработка алгоритма работы электронного магазина

Заходя на сайт интернет-магазина, открывается главная страница, где отображена категория самых модных товаров.

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

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

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

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

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

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

Доставка курьером будет осуществляться только для жителей города Минска и Минского района.

Оплата курьеру является одним из самых простых способов оплаты. Вы просто вручаете деньги курьеру и расписываетесь в получении заказа. К сожалению, этот способ возможен не во всех городах.

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

Преимущества этого способа можно перечислять бесконечно:

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

– возможность проверить товар и комплектность сразу, и вернуть его, отказавшись от покупки;

– посмотреть в глаза живому человеку, попросить его рассказать про товар, показать его в работе;

– получить все необходимые документы, как-то: гарантийный талон, товарный чек.

Недостатки также очевидны:

– не всегда приятно видеть у себя дома (или в офисе) незнакомого человека (курьера), общаться с ним;

– зачастую ожидание курьера превращается в пытку, и отбивает всякое желание что-либо покупать.


2
 ПРОЕКТИРОВАНИЕ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

 ИНТЕРНЕТ-МАГАЗИНА

2.1 Принципы разработки интерфейса

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

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

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

Интерфейс пользователя – элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением. В том числе:

– средства отображения информации, отображаемая информация, форматы и коды;

– командные режимы, язык пользователь-интерфейс;

– устройства и технологии ввода данных;

– диалоги, взаимодействие и транзакции между пользователем и компьютером;

– обратная связь с пользователем;

– поддержка принятия решений в конкретной предметной области;

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

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

2.1.1 Чем проще, тем лучше. Это вовсе не значит, что должен быть только текст и контактная информация, но на сайте не должно быть бесполезной информации, шрифт должен легко читаться. Графические элементы должны быть были четкими, выразительными и быстро загружаться. На сайте магазина недопустимо использовать анимацию и звук, которые долго загружаются и отвлекают внимание покупателя.

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

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

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

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

2.1.3 Товары должны быть распределены по группам. Для каждого товара обычно предусмотрены: краткое и полное описания, несколько фотографий.

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

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

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

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

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

2.2 Программная реализация

Вся работа сайта поддерживается двумя десятками файлов с исходными кодами. Иерархия файлов представлена на рисунке 2.

Рисунок 2 – Иерархия исходных файлов

В корневой папке сайта находятся два файла: index.php и tovar.xml. Первый непосредственно загружается в браузере при входе на сайт и определяет всю работу сайта. Второй – каталог товаров.

Полные тексты практически всех файлов приведены в приложении Б.

Папка catalog содержит фотографии всех товаров – графические файлы с расширениями .jpg, .gif, .bmp, .png.

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

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

В папке admin находятся файлы, поддерживающие работу административной части сайта.

2.2.1 Реализация пользовательской части

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

2.2.1.1 index.php

Файл index.php – самый важный в сайте. Он определяет визуальное расположение элементов сайта и определяет, в какой блок поместить различные компоненты и модули. Файл является комбинацией PHP и HTML.

В части PHP описываются тип кодировки и стиль страниц, а также инициализируется подключение используемых функций:

include("./includes/functions.php");

В части HTML описывается разметка страниц. Между тегами <head></head> располагаются ссылки на подключаемые файлы с таблицей стилей CSS и картинкой иконки favicon.ico, а также заголовок сайта, отображаемый во вкладке браузера:

<head>

<title><?php echo PAGE_TITLE; ?></title>

<link rel="stylesheet" href="style/style.css" type="text/css" />

<link rel="icon" href="style/favicon.ico" type="image/x-icon" />

<link rel="shortcut icon" href="style/favicon.ico" type="image/x-icon" />

</head>

Дальше в блоке <body> идет блок шапки сайта header. В нем выводится название сайта на определенном фоне и горизонтальное меню в тегах <ul></ul>:

<div id="header">

<h1><center> </center></h1>

<ul id="nav">

 <?php echo PAGE_MENU_2; ?>

</ul>

</div>

Открывается блок левой колонки, в которую через константу PRODAVEC_INFO загружается информация о магазине из файла info.txt (это определено в файле config.php, который подключается из файла functions.php, ниже приведено описание этих файлов более подробно):

<div id="sidebar_left">

<h2>Информация</h2>

<p><?php echo PRODAVEC_INFO; ?></p>

</div>

Открывается блок правой колонки, в которую через константу PAGE_MENU загружается вертикальное меню сайта с категориями товаров:

<div id="sidebar_right">

<h2>Каталог товаров</h2>

<p><?php echo PAGE_MENU; ?></p>

</div>

Открывается самый важный блок контента, в котором динамически меняется отображаемая информация в зависимости от действий покупателя. В этом блоке загружается файл main.php, который рассмотрен дальше в этом разделе:

<div id="content">

<?php include("./includes/main.php"); ?>

</div>

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

<div id="footer">

<p style="color:#0000CC" align="center">

 <a href="http://ChiPolinKa.by">(c) ChiPolinKa.by 2011</a>

</p>

</div>

2.2.1.2 tovar.xml

Об этом файле подробно будет описано ниже, в разделе административная часть.

Если открыть tovar.xml в текстовом редакторе, то каталог товаров в нем примет следующий вид:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<Table>

<tovar>

 <type>DVD-mults</type>

 <name>Кот Леопольд</name>

 <opisanie>10 серий доброго и дружелюбного мультфильма</opisanie>

 <foto>http://ChiPolinKa.by/catalog/DVD-mults1.jpg</foto>

 <price>15000</price>

</tovar>

<tovar>

 <type>Pampers</type>

 <name>Pampers Active Boy</name>

 <opisanie>Extra Large. Для настоящих пацанов от 16 кг. 30 штук в пачке</opisanie>

 <foto>http://ChiPolinKa.by/catalog/Pampers2.jpg</foto>

 <price>78000</price>

</tovar>

Здесь описывается таблица товаров с полями, заключенными в соответствующие тэги: <type>, <name>, <opisanie>, <foto> и <price>. Возможно редактирование этого файла и в текстовом редакторе, однако это менее удобно, по сравнению с Microsoft Excel, так как для каждого товара необходимо прописывать в тэгах наименования полей. Далее будут описаны подробнее принципы работы администратора с этим файлом через административную часть.

2.2.1.3 functions.php

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

2.2.1.4 config.php

В файле config.php определяются константы, используемые в index.php, в тексте сообщений электронной почты и в информации сайта.

2.2.1.5 main.php

Файл main.php обрабатывает события и определяет варианты поведения сайта при различных действиях покупателя.

Так при выборе какого-либо пункта обоих меню инициализируется действие list и передается выполнение в функцию get_cat_xml(). Параметром этой функции передается название выбранной категории. Аналогично с действиями buy и spasibo:

$action = $_GET['act'];

if ($action == 'list')   { get_cat_xml($_GET['cat']); };

if ($action == 'buy')   { shop_buy($_GET['item'],$_GET['price']); };

if ($action == 'spasibo') { shop_say_spasibo (

          $_POST['item'],

          $_POST['price'],

          $_POST['name'],

          $_POST['addr'],

          $_POST['phone'] );

          };

При иных действиях передается выполнение в функцию get_cat_xml(), в параметре передается категория default – самые популярные товары.

ELSE  { get_cat_xml('default'); };

2.2.1.6 get_cat.php

Этот файл содержит функцию get_cat_xml(), которая инициализирует вывод на страницу таблицы товаров той категории, которая приходит в параметре функции. Здесь описывается форма отображения информации по товару: сначала наименование с ценой в тегах заголовка <h2></h2>, далее – фото и описание. Все значения данных по товару выгружаются из файла базы данных tovar.xml:

$tovar_base = simplexml_load_string(implode('',file('./tovar.xml')));

Здесь же отображается ссылка «купить!» для инициализации действия buy рядом с каждым товаром.

2.2.1.7 shop_buy.php

Файл shop_buy.php содержит одноименную функцию для обработки события buy. Здесь описывается оформление формы заказа. Здесь же указывается, что при переходе с этой страницы по кнопке инициализируется действие spasibo с дальнейшим переходом к функции shop_say_spasibo():

<form id="form1" name="form1" method="post" action="./?act=spasibo">

<div align="center">

<input type="submit" name="button" id="button_buy" value="" />

</div>

2.2.1.8 shop_say_spasibo.php

В этом файле функция shop_say_spasibo() обрабатывает приходящие в ней параметры и в зависимости от них выполняет одно из двух действий:

– если хотя бы один из параметров name, addr или phone содержит пустую строку:

if ($name == '' OR $addr == '' OR $phone == '')

выводит информационное сообщение (рисунок 6) с предупреждением о том, что введены не все данные в форме заказа;

– если все параметры введены, то инициализирует функцию shop_mail(), а также выводит сообщение с подтверждением заказа и предложением перейти на главную страницу по кнопке .

2.2.1.9 shop_mail.php

В файле shop_mail.php одноименная функция формирует текст сообщения менеджеру магазина о покупке какого-либо товара и посылает это сообщение по электронной почте, используя в качестве адресов магазина и получателя константы, описанные в файле config.php.

При использовании локального сервера Apache в составе проекта Denwer, сообщения формируются по пути C:\WebServers\tmp\!sendmail в виде файла с расширением .eml. В названии файла сообщения указываются полные дата и время отправки сообщения.

2.2.1.10 menu.txt и menu_2.txt

Эти файлы содержат списки обоих меню сайта, и определяют их соответствия с категориями товаров, содержащимися в поле type файла tovar.xml.

2.2.1.11 info.txt

В тэгах <p></p> в этом файле приводится информация о магазине, его небольшое описание и ключевые моменты в обслуживании клиентом:

<p>Интернет-магазин товаров для детей ChiPolinKa.by. Доставка приветливыми курьерами по всему Минску бесплатно. Огромный выбор различных товаров для совершенно любых детей. От подгузников и памперсов до быстрых велосипедов и модных курток известных брендов. Самые низкие цены в Минске. Обращайтесь, ждем Вас.<p>

2.2.1.12 style.css

Этот файл содержит таблицу стилей с внешним описанием всех элементов, использованных в сайте. В этом файле загружаются картинки фонов для блоков body, wrapper и header, а также для кнопок button_buy, button_home и button_return. Здесь описано, как выглядят таблицы, формы, ссылки, меню, заголовки, какие шрифты и цвета используются для каждого элемента.

Полные тексты этого и практически всех остальных файлов приведены в приложении Б.


2.2.2
Реализация административной части

За работу административной части отвечают файлы, собранные в папке admin. Иерархия файлов этой папки представлена на рисунке 3.

Рисунок 3 – Иерархия файлов папки admin

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

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

2.2.2.1 index.php

Файл index.php – определяет визуальное расположение элементов сайта и определяет, в какой блок поместить различные компоненты и модули. Этот файл по структуре аналогичен одноименному файлу, описанному выше, в подразделе Реализация пользовательской части. Файл является комбинацией PHP и HTML.

В части PHP описываются тип кодировки и стиль страниц, а также инициализируется подключение используемых функций:

include("./includes/functions.php");

В части HTML описывается разметка страниц. Между тегами <head></head> все точно так же, как и в упомянутом выше файле index.php в корневой папке.

Дальше в блоке <body> идет блок шапки сайта header. В нем выводится название сайта на определенном фоне.

Открывается блок левой колонки, в которую через константу ACTS загружается список доступных администратору действий по работе с каталогом товаров из файла left.txt (это определено в файле config.php, который подключается из файла functions.php, ниже приведено описание этих файлов более подробно):

<div id="sidebar_left">

<h2>Доступные действия</h2>

<p><?php echo ACTS; ?></p>

</div>

Открывается блок правой колонки, в которой идет обращение к функции authorize(). Т.е. в этой колонке будут отображаться состояния этой функции. Сама функция описана в файле admin.php.

<div id="sidebar_right">

<h2>Авторизация</h2>

<p><?php authorize(); ?></p>

</div>

Открывается самый важный блок контента, в котором динамически меняется отображаемая информация в зависимости от действий администратора. В этом блоке загружается файл main.php, который рассмотрен дальше в этом разделе:

<div id="content">

<?php include("./includes/main.php"); ?>

</div>

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

2.2.2.2 functions.php

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

2.2.2.3 config.php

В файле config.php определяются константы, используемые в index.php и admin.php.

2.2.2.4 main.php

Файл main.php обрабатывает события и определяет варианты поведения административной части при различных действиях администратора.

Так при попытке авторизоваться при нажатии кнопки инициализируется действие privet и передается выполнение в функцию privet(). Параметром этой функции передается введенное имя, пытающегося авторизоваться:

if ($action == 'privet') { privet($_POST['adminname']); };

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

if ($action == 'add_tov') { add_tov(); };

if ($action == 'del_tov') { del_tov(); };

Действия add_tov_xml и del_tov_xml инициализируются соответственно во время исполнения функций add_tov и del_tov при нажатии кнопок и . Эти действия, в свою очередь, передают выполнение функциям add_tov_xml() и del_tov_xml(). В первой в качестве параметров являются данные по добавляемому товару – наименование, цена, категория и описание, а во второй – необходимое для удаления товара его наименование:

if ($action == 'add_tov_xml') { add_tov_xml(

            $_POST['item'],

            $_POST['price'],

            $_POST['type'],

            $_POST['opisanie']);

            };

if ($action == 'del_tov_xml') { del_tov_xml(

            $_POST['item']);

            };

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

ELSE { echo '<br/><h3>СТРАНИЦА АДМИНА</h3>'; };

2.2.2.5 admin.php

Этот файл содержит функции authorize() и privet().

Функция authorize() описывает оформление формы авторизации вошедшего в административную часть сайта. В поле для заполнения с клавиатуры предлагается ввести имя. Веденное значение сохраняется по id поля ввода (adminname) и передается в качестве параметра функции privet(). Здесь же указывается, что при попытке войти под введенным именем при нажатии кнопки инициализируется действие privet с дальнейшим переходом к функции privet().

<form method="POST" action="./?act=privet">

<table> … </table>

<br/>

<div align="center">

 <input type="submit" name="button" id="button_home" value="" />

</div>

</form>

Функция privet() обрабатывает полученное значение имени пытающегося войти в административную часть. Сначала проверяется вообще наличие введенных символов. Если имя было введено, функция выполняется далее.

В этой функции идет сравнение введенного имени с константой ADMIN, под которой определено имя единственного истинного администратора. При совпадении в области контента страницы выводится приветствие истинного администратора. Имя администратора в данном приветствии является ссылкой для перехода на главную страницу административной части.

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

2.2.2.6 add_tov.php

Этот файл содержит функции add_tov() и add_tov_xml().

Функция add_tov() описывает оформление формы добавления нового товара. На этой форме присутствуют поля для заполнения с клавиатуры наименования товара, его цены и описания, а также поле с выпадающим списком выбора возможных категорий товара:

<td align="left" valign="top">

<select name="type" type="text" id="type" size="1">

 <option/>

 <option value="default">Популярное</option>

 <option value="Teddytoys">Мягкие игрушки</option>

 …

</select>

</td>

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

Функция add_tov_xml() обрабатывает запись нового товара в файл с каталогом товаров tovar.xml. Принятые в этой функции параметры формируют данные о добавленном товаре. Введенные на русском языке, конвертируются в другую кодировку:

$item = iconv('windows-1251','UTF-8',$item);

$opisanie = iconv('windows-1251','UTF-8',$opisanie);

Для записи в каталог он загружается:

$tovar_base = simplexml_load_string (

      implode('',file('http://ChiPolinKa.by/tovar.xml'))

      );

Далее следует запись в файл XML в соответствии со структурой каждого параметра:

$tovar = $tovar_base->addChild('tovar');

$tovar->addChild('type', $type);

$tovar->addChild('name', $item);

$tovar->addChild('opisanie', $opisanie);

$tovar->addChild('foto', "http://ChiPolinKa.by/catalog/$type$i.jpg");

$tovar->addChild('price', $price);

Проверяется, чтобы все параметры были не пустыми, чтобы заполнены были все данные о товаре. При успешной проверке файл tovar.xml сохраняет изменения, а в области контента выводится сообщение об успешном добавлении товара:

if ($item != '' AND $type != '' AND $opisanie != '' AND $price != '') {

$tovar_base->asXML('C:\WebServers\home\ChiPolinKa.by\www\tovar.xml');

echo '<br/><h3>Товар успешно добавлен</h3>';

}

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

2.2.2.7 del_tov.php

Этот файл содержит функции del_tov() и del_tov_xml().

Функция del_tov() описывает оформление формы удаления товара по введенному администратором в поле для заполнения с клавиатуры названию. Веденное значение сохраняется по id поля ввода для дальнейшей передачи в качестве параметра функции del_tov_xml(). Здесь же указывается, что при подтверждении удаления по кнопке инициализируется действие del_tov_xml с дальнейшим переходом к функции del_tov_xml().

<form id="add_form" name="add_form" method="post" action="./?act=del_tov_xml">

<table> … </table>

<br/>

<div align="center">

 <input type="submit" name="button" id="button_del" value="" />

</div>

</form>

Функция del_tov_xml() обрабатывает удаление товара из файла tovar.xml. Принятый в этой функции параметр конвертируется в другую кодировку. Загружается каталог. Далее в каталоге следует поиск записей среди заключенных в тэгах <name></name> значения, совпадающего со значением переменной $item (эта переменная пришла в качестве параметра функции), и при обнаружении такого совпадения происходит удаление всего соответствующего блока <tovar></tovar> из файла XML. При этом в область контента страницы выводится сообщение об удачном удалении товара:

foreach ($tovar_base->tovar as $k) {

if ($tovar_base->tovar[$i]->name == $item) {

 unset($tovar_base->tovar[$i]);

 echo '<br/><h3>Товар успешно удален</h3>';

 break;

Каталог сохраняет изменения:

$tovar_base->asXML('C:\WebServers\home\ChiPolinKa.by\www\tovar.xml');

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

2.2.2.8 left.txt

В тэгах <li></li> в этом файле приводятся пункты списка для выбора допустимых действий администратору. При выборе одного из пунктов инициализируется соответствующее действие – add_tov либо del_tov:

<li><a href="./?act=add_tov">Добавить товар</a></li>

<li><a href="./?act=del_tov">Удалить</a></li>

2.2.2.9 style.css

Этот файл содержит таблицу стилей с внешним описанием всех элементов, использованных в административной части сайта. В этом файле загружаются картинки фонов для блоков body, wrapper и header, а также для кнопок button_add, button_del, button_home и button_return. Здесь описано, как выглядят таблицы, формы, ссылки, меню, заголовки, какие шрифты и цвета используются для каждого элемента.

Полные тексты этого и практически всех остальных файлов приведены в приложении Б.


3 ИНТЕРФЕЙС ИНТЕРНЕТ-МАГАЗИНА

3.1 Интерфейс пользовательской части

Ниже, на рисунке 4, представлен интерфейс главной страницы интернет-магазина ChiPolinKa.by. Основная часть сайта заполнена фоном из файла wrapper.jpg, а внешняя оболочка – body.jpg.

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

Страница разбита на пять частей:

– голова, в которой располагаются логотип магазина и главное меню сайта для перехода по наиболее популярным категориям товаров. Логотип и фон головы загружаются из файла header.jpg, а меню – из файла menu.txt;

– содержание – основная часть сайта, которая меняется в зависимости от проделываемых покупателем действий. Эта часть описывается файлом main.php;

– подошва, со знаком копирайт и ссылкой на главную страницу сайта;

– правая панель, в которой располагается меню со списком всех категорий товаров. Этот список выгружается из файла menu_2.txt;

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

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

Товары группируются по категориям. Доступ к категориям осуществляется двумя способами:

– переходом по ссылкам в главном меню в голове страницы;

– через список категорий в меню в правой панели.

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

Рисунок 5 – Страница категории «Коляски»

Просматривая список товаров, кликнув на надпись напротив понравившегося товара, посетитель перейдет на страницу с оформлением заказа (рисунок 6).

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

Рисунок 6 – Форма заказа

После заполнения формы покупателем своими данными при нажатии на кнопку система отправляет электронное письмо менеджеру магазина – уведомление о размещении заказа. Это сообщение отправляется на адрес, указанный в настройках интернет-магазина в файле config.php в константе PRODAVEC_MAIL.

Также кнопка перенаправляет пользователя на страницу с подтверждением заказа – «Спасибо за покупку!». Ее внешний вид представлен на рисунке 7.

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

Если покупатель не заполнит хотя бы одно поле формы заказа, ему при нажатии кнопки будет выведено сообщение о недостаточных данных (рисунок 8).

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

Рисунок 7 – Спасибо за покупку!

Рисунок 8 – Что-то не то…


3.2 Интерфейс административной части (администрирование)

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

Ниже, на рисунке 9, представлен интерфейс главной страницы административной части интернет-магазина ChiPolinKa.by. Она выполнена в стиле самого сайта и имеет те же фоны основной части и внешней оболочки.

Рисунок 9 – Каталог товаров в файле tovar.xml

Страница разбита на пять частей:

– голова, в которой располагается логотип магазина. Логотип и фон головы загружаются из файла header.jpg;

– содержание – основная часть административной части, которая меняется в зависимости от проделываемых администратором действий. Эта часть описывается файлом main.php;

– подошва, со знаком копирайт и ссылкой на главную страницу сайта;

– правая панель, в которой располагается колонка с формой авторизации входящего в эту часть сайта. Работа этой колонки поддерживается файлом admin.php;

– левая панель, в которой располагается колонка выбора со списком . Список выгружается из файла left.txt.

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

а)   б)

Рисунок 10 – Приветствия для истинного (а) и ложного (б) администраторов

Зайдя на сайт, администратору в левой панели представлены доступные действия для работы с каталогом товаров магазина: добавление либо удаление товара.

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

Каждый товар имеет следующие параметры:

– Категория – type – категория товара на английском языке для программной обработки;

– Товар – name – наименование товара, которое будет отображаться покупателям магазина;

– Описание – opisanie – описание товара, появится на странице в пользовательской части, когда покупатель открывает список товаров категории;

– Цена – price – стоимость товара в белорусских рублях;

– Фото – foto – ссылка на фотографию к товару из папки catalog, отображается под названием товара. Не отображается на форме добавления товара, генерируется автоматически.

Рисунок 11 – Форма добавления товара

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

При условии заполнения всех полей формы администратор увидит сообщение , а в файле tovar.xml появится новая запись с новым товаром:

<tovar><type>Pogremushki</type><name>Погремушечка</name><opisanie>Симпотичная небольшая погремушка станет любимой у вашей крохи</opisanie><foto>http://ChiPolinKa.by/catalog/Pogremushki65.jpg</foto><price>1111</price></tovar>

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

Рисунок 12 – Сообщение о неверном вводе данных

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

Рисунок 13 – Форма удаления товара

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

Если товар, запрашиваемый на удаление, есть в каталоге, то он будет удален, а администратор увидит сообщение . В файле tovar.xml исчезнет блок <tovar> с соответствующим именем товара.

Если в каталоге не найдется такого товара, то администратор увидит следующую страницу (рисунок 14):

Рисунок 14 – Сообщение об отсутствии товара, запрашиваемого на удаление


ЗАКЛЮЧЕНИЕ

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

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

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

Внедрение дополнительной услуги в магазине «ChiPolinKa» экономически обоснованно, так как повысит рейтинг и получение дополнительной прибыли магазина за счет:

– дополнительного круглосуточного канала сбыта товаров;

– удобного сервиса для потребителей, позволяющего ознакомиться с перечнем товаров, совершить резервирование или покупку товаров в реальном времени, используя удобный вариант доставки курьером;

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

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

Модульная система PHP-скрипта открывает широкие возможности и перспективы электронному магазину, позволит ему изменяться в ногу со временем, совершенствуя и оттачивая искусство взаимодействия с клиентом.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

[1] Котеров Д.В., Костарев А.Ф. PHP 5. В подлиннике – 2-е издание – СПб: «БХВ-Петербург», 2008. - 1104 с.

[2] Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов – 2-е изд. перераб. и доп. – СПб: «БХВ-Петербург», 2008. – 1264 с.

[3] Как создать интернет-магазин [Электронный ресурс]. – 2011. – Режим доступа: http://www.phpshop.ru/info/.

[4] Общая схема работы интернет-магазина [Электронный ресурс]. – 2011. – Режим доступа: http://www.itforbusiness.info/basic_internet_shop.shtml.

[5] Разработка интернет-магазина по продаже программного обеспечения [Электронный ресурс]. – 2006. – Режим доступа: http://bibliofond.ru/detail.aspx?id=7330.

[6] Функциональная структура сайта и разработка дизайна сайта [Электронный ресурс]. – 2011. – Режим доступа: http://1osp.ru/disain-i-struktura-saita.


ПРИЛОЖЕНИЕ А

(обязательное)

Алгоритм работы сайта


ПРИЛОЖЕНИЕ Б

(обязательное)

Исходные коды

index.php

<?php

/**

   * @author Polina Sidorova

   * @copyright 2011

   */

header("Content-Type: text/html; charset=windows-1251");

include("./includes/functions.php");

?>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title><?php echo PAGE_TITLE; ?></title>

<link rel="stylesheet" href="style/style.css" type="text/css" />

<link rel="icon" href="style/favicon.ico" type="image/x-icon" />

<link rel="shortcut icon" href="style/favicon.ico" type="image/x-icon" />

</head>

<body>

<div id="wrapper" class="fixed">

 <div id="header">

  <h1><center> </center></h1>

  <ul id="nav"><?php echo PAGE_MENU_2; ?> </ul>

 </div>

 <div id="sidebar_left">

  <h2>Информация</h2>

  <p><?php echo PRODAVEC_INFO; ?></p>

 </div>

 <div id="sidebar_right">

  <h2>Каталог товаров</h2>

  <p><?php echo PAGE_MENU; ?></p>

 </div>

 <div id="content">

  <?php include("./includes/main.php"); ?>

 </div>

 <div id="footer">

  <p style="color:#0000CC" align="center">

   <a href="http://ChiPolinKa.by">(c) ChiPolinKa.by 2011</a>

  </p>

 </div>

</div>

</body>

</html>

functions.php

<?php

include("./includes/config.php");

include("./includes/get_cat.php");

include("./includes/shop_buy.php");

include("./includes/shop_say_spasibo.php");

include("./includes/shop_mail.php");

?>

config.php

<?php

define("PRODAVEC_MAIL","PolinaSidorova@mail.ru");

define("FROM_MAIL","ChiPolinKa.by");

define("PRODAVEC_INFO",implode('',file('./includes/info.txt')));

define("PAGE_TITLE","ChiPolinKa");

define("PAGE_MENU",implode('',file('./includes/menu.txt')));

define("PAGE_MENU_2",implode('',file('./includes/menu_2.txt')));

?>

main.php

<?php

if (isset($_GET['act'])) {

$action = $_GET['act'];

if ($action == 'list')   { get_cat_xml($_GET['cat']); };

if ($action == 'buy')   { shop_buy($_GET['item'],$_GET['price']); };

if ($action == 'spasibo') { shop_say_spasibo (

           $_POST['item'],

           $_POST['price'],

           $_POST['name'],

           $_POST['addr'],

           $_POST['phone'] );

           };

}

ELSE       { get_cat_xml('default'); };

?>

get_cat.php

<?php

function get_cat_xml($type) {

$tovar_base = simplexml_load_string (implode ('',file('./tovar.xml')));

echo '<table width=100%>';

for($i = 0 ; $i != count($tovar_base->tovar); $i++ ) {

 if ($tovar_base->tovar[$i]->type == $type) {

  $tovar_base->tovar[$i]->name = iconv('UTF-8','windows-1251',$tovar_base->tovar[$i]->name);

  $tovar_base->tovar[$i]->opisanie = iconv('UTF-8','windows-1251',$tovar_base->tovar[$i]->opisanie);

  echo '

   <p>

    <tr>

     <table width=100%>

      <tr><h2>'.$tovar_base->tovar[$i]->name.'  -> <i style="color: #F00">'.$tovar_base->tovar[$i]->price.' р.</i></h2></tr>

      <td width=144px valign="top">

       <img src="files/2/'.$tovar_base->tovar[$i]->foto.'" align="left" vspace="10" hspace="10" alt="Тут должно быть фото" width=140px style="border:1px solid #97CBDF;">

      </td>

      <td >'.$tovar_base->tovar[$i]->opisanie.'</td>

      <td width=82px valign="top">

       <a href="./?act=buy&item='.$tovar_base->tovar[$i]->name.'&price='.$tovar_base->tovar[$i]->price.'" title="купить">купить!</a>

      </td>

     </table>

    </tr>

   </p><br/><br/><br/><br/>

   ';

  };

 };

echo '</table>';

};

?>

shop_buy.php

<?php

function shop_buy($shop_item_name,$shop_item_price) {

echo '

 <h2>Форма заказа</h2>

 <form id="form1" name="form1" method="post" action="./?act=spasibo">

  <table width="550" border="0" align="center">

   <tr>

    <td width="33%" align="right" valign="top">

     <strong>Товар:</strong>

    </td>

    <td width="66%" align="left" valign="top">

     '.$shop_item_name.'

    </td>

   </tr>

   <tr>

    <td align="right" valign="top"><strong>Цена:</strong></td>

    <td align="left" valign="top">'.$shop_item_price.' руб.</td>

   </tr>

   <tr>

    <td align="right" valign="top"><strong>Ваше имя:</strong></td>

    <td align="left" valign="top">

     <input name="name" type="text" id="name" size="60" />

    </td>

   </tr>

   <tr>

    <td align="right" valign="top">

     <strong>Адрес доставки:</strong>

    </td>

    <td align="left" valign="top">

     <input name="addr" type="text" id="addr" size="60" />

    </td>

   </tr>

   <tr>

    <td align="right" valign="top">

     <strong>Номер телефона:</strong>

    </td>

    <td align="left" valign="top">

     <input name="phone" type="text" id="phone" size="60" />

    </td>

   </tr>

  </table><br/>

  <div align="center">

   <input type="submit" name="button" id="button_buy" value="" />

  </div>

  <input name="item" type="hidden" value="'.$shop_item_name.'" />

  <input name="price" type="hidden" value="'.$shop_item_price.'" />

 </form>

 ';

};

?>

shop_say_spasibo.php

<?php

function shop_say_spasibo($item,$price,$name,$addr,$phone) {

if ($name == '' OR $addr == '' OR $phone == '') {

 echo '

  <h2>Что-то не то...</h2>

  <p>

   Вы недостаточно полно описали информацию о себе.

  </p><br/><br/>

  <div align="center">

   <a href="javascript:history.back()">

    <input type="submit" name="button" id="button_return" value="" />

   </a>

  </div>

  ';

 }

ELSE {

 shop_mail($item,$price,$name,$addr,$phone);

 echo '

  <h2>Спасибо за покупку!</h2>

  <p>

   Вы заказали<br/><br/>

   Наименование: '.$item.'<br/>

   Цена: '.$price.'<br/>

   С доставкой по адресу: '.$addr.'<br/>

  </p><br/><br/>

  <div align="center">

   <a href="http://ChiPolinKa.by">

    <input type="submit" name="button" id="button_home" value="" />

   </a>

  </div>

  ';

 };

};

?>

shop_mail.php

<?php

function shop_mail($item,$price,$name,$addr,$phone) {

$message = "

 Товар: $item

 Цена: $price

 Заказчик: $name

 Адрес: $addr

 Телефон: $phone

 " ;

mail (PRODAVEC_MAIL, "ЗАКАЗ!", $message, "From: ".FROM_MAIL."");

};

?>

menu.txt

<li><a href="./?act=list&cat=Teddy toys">Мягкие игрушки</a></li>

<li><a href="./?act=list&cat=Babycars">Коляски</a></li>

<li><a href="./?act=list&cat=Pampers">Памперсы</a></li>

<li><a href="./?act=list&cat=Bicycles">Велосипеды</a></li>

<li><a href="./?act=list&cat=Toys">Игрушки</a></li>

<li><a href="./?act=list&cat=DVD-mults">DVD-мультфильмы</a></li>

<li><a href="./?act=list&cat=Pogremushki">Погремушки</a></li>

<li><a href="./?act=list&cat=Clothes">Одежда</a></li>

<li><a href="./?act=list&cat=Shoes">Обувь</a></li>

menu_2.txt

<li><a href="./">Главная</a></li>

<li><a href="./?act=list&cat=Teddy toys">Мягкие игрушки</a></li>

<li><a href="./?act=list&cat=Bicycles">Велосипеды</a></li>

<li><a href="./?act=list&cat=Babycars">Коляски</a></li>

<li><a href="./?act=list&cat=Clothes">Одежда</a></li>

<li><a href="./?act=list&cat=Shoes">Обувь</a></li>

style.css

body { font: 62.5%/1.6em "Lucida Grande", "Lucida Sans Unicode", verdana, geneva, sans-serif; color: #555; margin: 20px; background: url(body.jpg) scroll; background-attachment: fixed;

}

* { margin: 0; padding: 0;

}

#wrapper { margin: 0 auto; background: url(wrapper.jpg) repeat; padding: 5px; border: 3px solid #97CBDF; background-attachment: fixed;

}

.fixed { width: 1000px;

}

.fluid { width: 90%;

}

#header { height: 110px; background: url(header.jpg);

}

#header h1 { height: 45px; font: 250% Trebuchet MS; padding: 30px 20px 10px 20px; color: #fff;

}

#nav { font-size: 12px; margin: 0 0 0 0;

}

#nav li { list-style: none; display: inline; padding: 7px 0;

}

#nav li a { padding: 7px; color: #0000CC; text-decoration: none; }

#nav li a:hover { background: #97CBDF; color: #FF6600; }

#sidebar_left { float: left; width: 180px; padding: 0 10px; background: #f6f6f6; font: 100% Verdana; line-height: 20px; border-left: 1px solid #97CBDF; border-right: 1px solid #97CBDF; border-bottom: 1px solid #97CBDF; margin: 0 15px 0 0;

}

#sidebar_left h2 { font: 140% Arial; color: #222; border-top: 1px solid #c66; border-bottom: 1px solid #c66; padding: 5px; text-align: center;

}

#sidebar_left p { line-height: 20px; }

#sidebar_right { width: 160px; padding: 10px; float: right; background: #C8E4EE; margin: 0 0 10px 10px; border-left: 1px solid #97CBDF; border-right: 1px solid #97CBDF; border-bottom: 1px solid #97CBDF; color: #1F5063; font: 120% Verdana larger;

}

#sidebar_right h2 { font: 100% Arial; text-transform: uppercase; color: #13313C; border-top: 1px solid #c66; border-bottom: 1px solid #c66; padding: 5px; text-align: center;

}

#sidebar_right p { font: 100% Arial; line-height: 20px; }

#content { float: left; width: 550px; padding: 0 15px; font-size: 120%; color: #222;

}

#content h2 { font: 150% Trebuchet MS; color: #222; border-bottom: 2px solid #97CBDF;

}

#content h1,h2,h3,h4,p,ul,ol,blockquote { margin: 15px 0; line-height: 25px;

}

#sidebar_left h1,h2,h3,h4,p,ul,ol,blockquote { margin: 15px 0;

}

#sidebar_right h1,h2,h3,h4,p,ul,ol,blockquote { margin:15px 0;

}

#footer { padding: 6px; font-size: 12px; background: none; border-top: 2px solid #97CBDF; clear: both;

}

a { text-decoration: none; color: #0000CC; }

a:hover { text-decoration: underline; color: #FF6600; }

#button_buy { cursor: pointer; border: 0; height: 23px; width: 75px; background: url(button_buy.jpg);

}

#button_home { cursor: pointer; border: 0; height: 23px; width: 75px; background: url(button_home.jpg);

}

#button_return { cursor: pointer; border: 0; height: 23px; width: 53px; background: url(button_return.jpg);

}

Административная часть (папка admin)

index.php

<?php

/**

   * @author Polina Sidorova

   * @copyright 2011

   */

header("Content-Type: text/html; charset=windows-1251");

include("./includes/functions.php");

?>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

 <title><?php echo PAGE_TITLE; ?></title>

 <link rel="stylesheet" href="style/style.css" type="text/css />

<link rel="icon" href="http://ChiPolinKa.by/admin/style/favicon.ico" type="image/x-icon" />

 <link rel="shortcut icon" href="http://ChiPolinKa.by/admin/style/favicon.ico" type="image/x-icon" />

</head>

<body>

 <div id="wrapper" class="fixed">

 <div id="header">

  <h1><center> </center></h1>

 </div>

 <div id="sidebar_left">

  <h2>Доступные действия</h2>

  <p><?php echo ACTS; ?></p>

 </div>

 <div id="sidebar_right">

  <h2>Авторизация</h2>

  <p><?php authorize(); ?></p>

 </div>

 <div id="content">

  <?php include("./includes/main.php"); ?>

 </div>

 <div id="footer">

  <p style="color:#0000CC" align="center">

   <a href="http://ChiPolinKa.by">(c) ChiPolinKa.by 2011</a>

  </p>

 </div>

</div>

</body>

</html>

functions.php

<?php

include("./includes/config.php");

include("./includes/add_tov.php");

include("./includes/del_tov.php");

include("./includes/admin.php");

?>

config.php

<?php

define("PAGE_TITLE","AdminKa-ChiPolinKa");

define("ACTS",implode('',file('./includes/left.txt')));

define("ADMIN","Полина");

?>

left.txt

<li><a href="./?act=add_tov">Добавить товар</a></li>

<li><a href="./?act=del_tov">Удалить</a></li>

main.php

<?php

if (isset($_GET['act'])) {

$action = $_GET['act'];

 if ($action == 'privet')    { privet($_POST['adminname']); };

if ($action == 'add_tov')   { add_tov(); };

if ($action == 'del_tov')   { del_tov(); };

if ($action == 'add_tov_xml') { add_tov_xml(

             $_POST['item'],

             $_POST['price'],

             $_POST['type'],

             $_POST['opisanie'] );

             };

if ($action == 'del_tov_xml') { del_tov_xml($_POST['item']); };

 }

ELSE { echo '<br/><h3>СТРАНИЦА АДМИНА</h3>'; };

?>

admin.php

<?php

function authorize() {

echo '

 <form method="POST" action="./?act=privet">

  <table width="400" border="0" align="center">

   <td>

    <tr align="right" valign="top">

     <strong>Введите Ваше имя: </strong>

    </tr><br/>

    <tr align="left" valign="top"><input name="adminname" type="text" id="adminname" size="12" /></tr>

   </td>

  </table><br/>

  <div align="center">

   <input type="submit" name="button" id="button_home" />

  </div>

 </form><br/><br/>

 ';

};

function privet($adminname) {

if ($adminname != '') {$person = $adminname;};

if ($person == ADMIN) {

 echo '

  <br/>

  <h3>Здравствуй,</h3>

  <h3>о великий админ,</h3><br/>

  <h3><a href="http://ChiPolinKa.by/admin/" style="color:red;"> ' .ADMIN. '</a>!</h3>';

 }

ELSE {

 if ($person != '') {

  echo '

   <br/>

   <h3>Здравствуй,</h3><br/>

   <h3>' .$person. '.</h3><br/>

   <h3><font style="color:red;">Ты - не админ</font>!</h3>

   <h3>Уходи отсюда!</h3>

   ';

  };

 };

};

?>

add_tov.php

<?php

function add_tov() {

echo '

 <h2>Добавление товара</h2>

  <form id="add_form" name="add_form" method="post" action="./?act=add_tov_xml">

  <table width="550" border="0" align="center">

   <tr>

    <td width="25%" align="right" valign="top">

     <strong>Товар: </strong>

    </td>

    <td width="75%" align="left" valign="top">

     <input name="item" type="text" id="item" size="30" />

    </td>

   </tr><br/>

   <tr>

    <td align="right" valign="top"><strong>Категория: </strong></td>

    <td align="left" valign="top">

     <select name="type" type="text" id="type" size="1">

      <option/>

      <option value="default">Популярное</option>

      <option value="Teddytoys">Мягкие игрушки</option>

      <option value="Babycars">Коляски</option>

      <option value="Pampers">Памперсы</option>

      <option value="Bicycles">Велосипеды</option>

      <option value="Toys">Игрушки</option>

      <option value="DVD-mults">DVD-мультфильмы</option>

      <option value="Pogremushki">Погремушки</option>

      <option value="Clothes">Одежда</option>

      <option value="Shoes">Обувь</option>

     </select>

    </td>

   </tr><br/>

   <tr>

    <td width="33%" align="right" valign="top">

     <strong>Описание: </strong>

    </td>

    <td width="66%" align="left" valign="top">

     <input name="opisanie" type="text" id="opisanie" size="60" />

    </td>

   </tr><br/>

   <tr>

    <td align="right" valign="top"><strong>Цена: </strong></td>

    <td align="left" valign="top">

     <input name="price" type="text" id="price" size="10" /> руб.

    </td>

   </tr>

  </table><br/>

  <div align="center">

   <input type="submit" name="button" id="button_add" value="" />

  </div>

 </form>

 ';

};

function add_tov_xml($item,$price,$type,$opisanie) {

$tovar_base = simplexml_load_string(

       implode('',file('http://ChiPolinKa.by/tovar.xml'))

       );

$i = count($tovar_base->tovar)+1;

$item = iconv('windows-1251','UTF-8',$item);

$opisanie = iconv('windows-1251','UTF-8',$opisanie);

$tovar = $tovar_base->addChild('tovar');

$tovar->addChild('type', $type);

$tovar->addChild('name', $item);

$tovar->addChild('opisanie', $opisanie);

$tovar->addChild('foto', "http://ChiPolinKa.by/catalog/$type$i.jpg");

$tovar->addChild('price', $price);

if ($item != '' AND $type != '' AND $opisanie != '' AND $price != '') {

 $tovar_base->asXML('C:\WebServers\home\ChiPolinKa.by\www\tovar.xml');

 echo '<br/><h3>Товар успешно добавлен</h3>';

 }

ELSE {

 echo '

  <br/><h2>Вы не заполнили все поля при описании товара. Пожалуйста вернитесь и введите все данные о товаре</h2><br/>

  <div align="center">

   <a href="javascript:history.back()">

    <input type="submit" name="button" id="button_return" value="" />

   </a>

  </div>

  ';

 };

};

?>

del_tov.php

<?php

function del_tov() {

echo '

 <h2>Удаление товара</h2>

 <form id="add_form" name="add_form" method="post" action="./?act=del_tov_xml">

  <table width="550" border="0" align="center">

   <tr>

    <td width="25%" align="right" valign="top">

     <strong>Товар: </strong>

    </td>

    <td width="75%" align="left" valign="top">

     <input name="item" type="text" id="item" size="30" />

    </td>

   </tr>

  </table><br/>

  <div align="center">

   <input type="submit" name="button" id="button_del" value="" />

  </div>

 </form>

 ';

};

function del_tov_xml($item) {

$tovar_base = simplexml_load_string(

       implode('',file('http://ChiPolinKa.by/tovar.xml'))

       );

$item = iconv('windows-1251','UTF-8',$item);

$i = 1;

foreach ($tovar_base->tovar as $k) {

 if ($tovar_base->tovar[$i]->name == $item) {

  unset($tovar_base->tovar[$i]);

  echo '<br/><h3>Товар успешно удален</h3>';

  break;

  }

 $i++;

 };

$tovar_base->asXML('C:\WebServers\home\ChiPolinKa.by\www\tovar.xml');

if ($i>count($tovar_base->tovar)) {

 echo '

  <br/>

  <h2>Такого товара нет в каталоге. Проверьте правильность введенного Вами наименования товара</h2><br/>

  <div align="center">

   <a href="javascript:history.back()">

    <input type="submit" name="button" id="button_return" value="" />

   </a>

  </div>

  ';

 };

};

?>

style.css

body { font: 62.5%/1.6em "Lucida Grande", "Lucida Sans Unicode", verdana, geneva, sans-serif; color: #555; margin: 20px; background: url(body.jpg) scroll; background-attachment: fixed;

}

* { margin: 0; padding: 0;

}

#wrapper { margin: 0 auto; background: url(wrapper.jpg) repeat; padding: 5px; border: 3px solid #97CBDF; background-attachment: fixed;

}

.fixed { width: 1000px;

}

.fluid { width: 90%;

}

#header { height: 110px; background: url(header.jpg);

}

#sidebar_left { float: left; width: 180px; padding: 0 10px; background: #f6f6f6; font: 100% Verdana; line-height: 20px; border-left: 1px solid #97CBDF; border-right: 1px solid #97CBDF; border-bottom: 1px solid #97CBDF; margin: 0 15px 0 0;

}

#sidebar_left h2 {

font: 140% Arial; color: #222; border-top: 1px solid #c66; border-bottom: 1px solid #c66; padding: 5px; text-align: center;

}

#sidebar_right { width: 160px; padding: 10px; float: right; background: #C8E4EE; margin: 0 0 10px 10px; border-left: 1px solid #97CBDF; border-right: 1px solid #97CBDF; border-bottom: 1px solid #97CBDF; color: #1F5063; font: 100% Verdana larger;

}

#sidebar_right h2 { font: 140% Arial; text-transform: uppercase; color: #13313C; border-top: 1px solid #c66; border-bottom: 1px solid #c66; padding: 5px; text-align: center;

}

#content { float: left; width: 550px; padding: 0 15px; font-size: 120%; color: #222;

}

#content h2 { font: 150% Trebuchet MS; color: #222; border-bottom: 2px solid #97CBDF;

}

#content h3 { font: 200% Arial; color: #13313C; padding: 5px; text-align: center; line-height: 1px;

}

#content h1,h2,h3,h4,p,ul,ol,blockquote { margin: 15px 0; line-height: 25px;

}

#sidebar_left h1,h2,h3,h4,p,ul,ol,blockquote { margin: 15px 0;

}

#sidebar_right h1,h2,h3,h4,p,ul,ol,blockquote {

margin: 15px 0;

}

#footer { padding: 6px; font-size: 12px; background: none; border-top: 2px solid #97CBDF; clear: both;

}

a { text-decoration: none; color: #0000CC;

}

a:hover { text-decoration: underline; color: #FF6600;

}

#button_del { cursor: pointer; border: 0; height: 23px; width: 71px; background: url(button_del.jpg);

}

#button_add { cursor: pointer; border: 0; height: 23px; width: 78px; background: url(button_add.jpg);

}

#button_home { cursor: pointer; border: 0; height: 23px; width: 52px; background: url(button_home.jpg);

}

#button_return { cursor: pointer; border: 0; height: 23px; width: 53px; background: url(button_return.jpg);

}

58

PAGE  5

Интерфейс

магазина

Инструменты

управления

Серверная часть

Операционная

часть

Интернет-магазин

Администрирование

Программная часть

Клиентская часть



 

Другие похожие работы, которые могут вас заинтересовать.
11708. Разработка информационной системы учета товаров для магазина «Аистенок» 726.86 KB
  Результаты выполнения торговых операций записываются в надлежащих журналах. Автоматизация данных процессов позволит сохранить информацию в базе, в которую вводится данная информация с помощью удобного интерфейса программы.
13309. Создание каталога товаров для последующего создания интернет-магазина 2.27 MB
  Целью данной работы является создание каталога товаров для последующего создания интернет-магазина. Основными задачами данного проекта являются: изучение теоретических аспектов создания интернет магазинов; изучение способа организации интернет-магазинов; изучение видов и требований для создания интернет магазина; изучение методов...
1682. Автоматизация учета товаров на предприятии 3.3 MB
  Все операции купли-продажи товаров осуществляются на основании договора купли-продажи и его разновидностей (договор поставки, договор розничной купли-продажи и т.п.). Операции по учету товаров для продажи и перепродажи ведутся в специализированных торговых организациях (магазинах, универмагах, универсамах и т. п.)
15931. Классификация в таможенных целях некомплектных товаров и товаров, поставляемых в незавершенном виде 253.15 KB
  Теоретические основы классификации товаров в соответствии с ТН ВЭД ТС5 Состояние динамики экспорта и импорта товаров в соответствии с ТН ВЭД ТС в международной торговле России.5 Характеристика основных правил интерпретации применимых при классификации некомплектных товаров и товаров поставляемых в незавершенном виде.9 Категории товаров подпадающих под классификацию...
1842. База данных книжного магазина 610.79 KB
  Наименование программы Полное наименование программной разработки: База данных книжного магазина в дальнейшем именуемая как программа. Краткое название программы – Книжный магазин.
1653. Разработка Интернет- магазина компьютерных комплектующих 521.4 KB
  С точки зрения системного администратора, в чьи функции входят поддержание и работоспособность Интернет- магазина ежедневное обновление и др. Требует к себе минимум затрат по эксплуатации и администрированию и следовательно необходимость в существенных затратах времени и финансовых средствах при администрировании, не возникает.
1594. Разработка интернет-магазина текстильного предприятия 186.22 KB
  В настоящее время АО «Ермолино» является крупным производителем и поставщиком текстильной продукции. За время существования предприятия у него сложились стабильные партнерские отношения с поставщиками сырья, что позволяет предприятию производить продукцию
19517. Разработка технического задания для автоматизации магазина «Буква» 155.63 KB
  Грамотная продажа товара исходя из требований клиента то есть консультация специалистов. Поэтому необходимо чтобы магазин получал информацию о состоянии рынка и сам предоставлял на рынок информацию об имеющихся товарах и услугах. Взаимодействие со средствами массовой информации заключается в предоставлении магазином данных о себе своих товарах и услугах – в последствии из этих данных будет сформирована реклама ноутбук-салона которая воспринимается рынком товаров и услуг. Расширение видов товара Преимущества магазина: Большой опыт...
17647. ИННОВАЦИОННЫЕ МЕТОДЫ ОБУЧЕНИЯ ДЕТЕЙ С ОТКЛОНЕНИЯМИ В РАЗВИТИИ НА ПРИМЕРЕ ДЕТЕЙ С ДЦП 41.36 KB
  Детский церебральный паралич (ДЦП) - тяжёлое мультифакториальное заболевание нервной системы, обусловленное вредоносными воздействиями на мозг в различные периоды внутриутробного развития ребёнка, во время родов и в первые недели жизни. Время воздействия вредоносных факторов определяет картину болезни в большей степени
20931. ПРАВОВОЕ ПОЛОЖЕНИЕ ДЕТЕЙ-СИРОТ И ДЕТЕЙ, ОСТАВШИХСЯ БЕЗ ПОПЕЧЕНИЯ РОДИТЕЛЕЙ 39.7 KB
  Происходящее в обществе резкое изменение ценностных ориентацией, психологическая дезадаптация значительной части населения, снижение нравственных норм негативно сказывается на процессе социализации детей и подростков. Растущие масштабы асоциального поведения среди взрослых стимулируют развитие аналогичных процессов и в детской среде. Наиболее существенным признаком последних лет стало значительное увеличение размеров социального сиротства, появление его новых характеристик
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.