Интернет-магазин ооо «стилендс»

ИНТЕРНЕТ-МАГАЗИН ООО «СТИЛЕНДС»

Дипломная работа

230700Прикладная информатика

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ДР.230700.ОЗ.2014.186з.4.ПЗ

Руководитель Работу выполнил

Профессор к.т.н., д.п.н. студент группы 11-ЗИЭ

_______________ И.Д. Рудинский Н.Г. Боровецкий

(подпись, дата) ________________________

(подпись, дата)

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

профессор, к.т.н., д.п.н.

_______________ И.Д. Рудинский

(подпись, дата)

Консультанты по

экономическому разделу:

доцент, к.э.н.

_______________ М.В. Соловей

(подпись, дата)

Калининград 2015

Аннотация

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

Summary

Thesis is devoted to creating an online store. The work describes the stages of creating an online store, from the planning stage to its implementation. Thesis consists of 61 pages and contains 9 figure, 12 tables, the information was taken from fifteen sources. In the thesis work, the results of all stages of website development, such as analysis of the problems of creating, overview of competitors, the choice of content management system and implementation of the project.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 3

1. ИССЛЕДОВАНИЕ ОБЪЕКТА АВТОМАТИЗАЦИИ

1.1. Общая характеристика объекта 4

1.2. Обоснование необходимости собственной разработки

предприятия 5

1.3. Задание на разработку 6

1.4. Анализ проблем создания интернет магазина для малого предприятия 8

1.5. Обзор аналогов 10

2. ОСНОВНЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ

2.1. Обоснование выбора инструментальных средств разработки 13

2.2. Общая структура сайта «Стилендс» 16

2.3. Описание программного обеспечения 21

2.4. Описание информационного обеспечения 22

3. ОПИСАНИЕ РЕАЛИЗАЦИИ ВЕБ-САЙТА

3.1. Описание технологических процессов обработки данных 26

3.2. Описание пользовательского интерфейса 27

3.3. Установка программного обеспечения 31

4. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА

4.1. Исследование теоретических аспектов коммерческой

деятельности 34

4.2. Стратегический анализ рынка магазинов одежды 34

4.3. Расчёт затрат по созданию сайта 35

ЗАКЛЮЧЕНИЕ 41

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

СПИСОК КЛЮЧЕВЫХ СЛОВ 43

СПИСОК СОКРАЩЕНИЙ 44

ПРИЛОЖЕНИЯ 45

ВВЕДЕНИЕ

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

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

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

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

ИССЛЕДОВАНИЕ ОБЪЕКТА АВТОМАТИЗАЦИИ

Организационная структура предприятия

Менеджер по продажам  
Продавец  
Бухгалтер
Курьер  
Директор ООО«Стилендс»

Рисунок 1.1 – Организационная структура предприятия

Задание на разработку

Требования к характеристикам автоматизируемых функций:

· Быстрая загрузка сайта. Сайт должен загружаться в течение 3-5 секунд;

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

· Создание наиболее удобной административной панели для заполнения базы данных;

· Организация стабильной работы сайта с базой данных;

· Форма заказа должна быть понятна покупателю. Обязательные

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

· Ожидание отклика сайта на манипуляции пользователя не должно превышать 3-5 секунд;

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

Для достижения поставленных целей создания сайта и устранения выявленных недостатков необходимо автоматизировать функции, представленные в таблице 1.1:

Таблица 1.1 – Автоматизируемые функции

Недостаток Способ устранения Автоматизируемые функции
1. Ограничения по площади не позволяют представить полный ассортимент товаров и более развёрнуто, представить новинки. 2. Неполный охват целевой аудитории. 1. Создание раздела «Каталог товаров». Для каждой категории товаров представлен свой раздел. Страницы по категориям содержат подробное описание товара 2. Создание разделов «Новинки», «Новости», «Полезные статьи» и «Опрос». Добавление и обновление контента по разделам сайта (в т.ч. новостной ленты, полезных статей, опросов, каталога товаров и услуг и т.д.).
Неудобное расположение некоторых товаров, вызывает затруднение при поиске покупателем, когда менеджер занят. Оформление заказа онлайн с помощью раздела «Каталог товаров» и формы заказа, заполняемой покупателем. Поиск товара в каталоге, просмотр каталога с полным ассортиментом товаров и услуг, просмотр подробного описания товаров, оформление заказа, комментарии к товарам и услугам.
Выделяются незначительные средства на рекламу. Создание визитки из разделов «О магазине» (краткое описание, адрес, расположение на карте), «Гарантии качества» (описание преимуществ товаров и услуг), контактные телефоны. Координатная привязка месторасположения магазина к картам GoogleMaps, ввод и отправка вопроса менеджеру.

Обзор аналогов

http://wildberries.ru– сайтмагазина «Wildberries».

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

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

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

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

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

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

http://boutique.ru– сайт магазина «Boutique».

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

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

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

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

http://stolnik24.ru/- интернет-магазин «Stolnik».

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

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

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

На сайте расположено всего две строки меню. На самой верхней расположены стандартные пункты, такие как: «О нас», «Гарантия», «Доставка», «Регистрация». Вторая строка меню находится ниже, и включат в себя каталог товара с тремя пунктами: «Аксессуары», «Женская», «Мужская».

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

ОСНОВНЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ

Функциональная структура

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

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

· Информационно-справочная система, содержит необходимую актуальную информацию о товарах.

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

Данные модули размещены на сервере.

Общий вид функциональной структуры представлен на рисунке 2.2:

Сайт «Стилендс»
Модуль корзины
Каталог товаров
Модуль администрирования
Доступ к сервису покупателя
Обновление информации
Занесение информации в БД
Добавление и удаление выбранных товаров; Подтверждение данных.
Редактирование информации о товаре; добавление и удаление товаров.
Добавление новостей; Редактирование информации о клиентах; доставке; контактах компании.

Рисунок2.2 – Функциональная структура сайта «Стилендс»

Логическая структура

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

Контактная информация
Стилендс
Стартовая страница
Главная
Каталог
Доставка
Информация
Платья  
Нижнее белье  
Футболки  
Штаны  
Обувь
Новинки
Информация о стоимости доставки
Спорт
Товары по категориям
Описание товара
Товары по категориям
Описание товара
Товары по категориям
Описание товара
Товары по категориям
Описание товара
Товары по категориям
Описание товара
Товары по категориям
Описание товара
Регистрация
Корзина

Рисунок 2.3 – Логическая структура пользовательской части сайта

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

Главная страница
Авторизация
Форма авторизации
Админ-панель
Главная
Добавление новостей
Каталог
Добавление
Удаление
Редактирование
Доставка
Редактирование
Контакты
Редактирование

Рисунок. 2.4 – Логическая структура административной части сайта

Таблица 4.1 – Этапы разработки программы

№ п/п Этапы разработки Время, час.
Разработка веб-стратегии ( постановка задачи, выбор метода решения)
Дизайн
Вёрстка и программирование
Размещение в интернете и регистрация домена
Наполнение контентом
Отладка
  ИТОГО
  В том числе машинное время

Таблица 4.2 – Стоимость работ на этапах разработки

№ п/п Этапы разработки Минимальная стоимость полноценной работы, руб
Разработка веб-стратегии ( постановка задачи, выбор метода решения)
Дизайн
Вёрстка и программирование
Размещение в интернете и регистрация домена
Наполнение контентом
Отладка и годовая поддержка
  ИТОГО

Оплата производятся частями в соответствии с выполнением отдельных работ. Размер и сроки оплаты оговариваются дополнительно. Предоплата составляет от 20% до 40%, в зависимости от общей суммы договора. При оплате в безналичной форме к указанным суммам следует добавить сумму НДС. Следует отметить, что указанные суммы не являются окончательными, и могут быть пересмотрены в ту или иную сторону после изучения конкретных требований заказчика [17].

Стоимость разработки интернет-магазина рассчитывается по формуле:

интернет-магазин ооо «стилендс» - student2.ru (1),

Где n1 и n2 – соответственно количество человекочасов разработки и машинных часов;

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

Исходя из данных в таблице, n2 равно 120, соответственно, вычитая это из общего времени, получаем n1 равным 130.

интернет-магазин ооо «стилендс» - student2.ru (2),

интернет-магазин ооо «стилендс» - student2.ru (3),

где Тр.вр. – годовой фонд рабочего времени, в 2013 году = 1772 час.;

Кр. – районный коэффициент (0,15),

ЗПср.год – среднегодовая заработная плата разработчика, он же занимается обслуживанием. Работу выполняет инженер-программист с заработной платы в размере 15000 рублей.

Отчисления на социальные нужды составляет 34%.

ФЗПгод=180000 +(180000*0,15)+(180000 +180000*0,15)*0,34=250380

ФЗПгод=250380 рублей

Рассчитываем среднечасовую заработную плату:

ЗПр.руч=250380/1772=141,3

Вычисляем стоимость разработки программы по формуле 1.

Ср=141,3*130+117,95*120=18369+14154=32523

Итого, стоимость разработки программы получается Ср=32523 руб. (себестоимость).

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

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

Цены устанавливаются в зависимости от их назначения и разработки: уникальные, по заказу, специализированные и универсальные рыночные.

Окупаемость веб-сайта.

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

Сайт окупит себя в тот момент, когда прибыль, полученная от всех сделок, совершённых при помощи сайта, сравняется с суммой затрат на его создание[11].

Т.е. в упрощенном виде должно быть обеспечено условие:

Окупаемость = Затраты,

где: Затраты - общая сумма всех затрат на создание сайта и поддержку сайта, руб;

Окупаемость - общая прибыль от всех сделок, состоявшихся при помощи сайта, руб.

Окупаемость = Прибыль х Сделки, (4)

где: Прибыль - средняя прибыль от одной сделки, руб;

Сделки - число состоявшихся сделок.

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

Таблица 4.3 – Число посетителе в день, при условии проведения мероприятий по продвижению сайта

Число базовых html страниц
Число посетителей в рабочий день, не менее 10-15 50-70 100-120 140-170 180-220
Число посетителей в выходные и праздничные дни, не менее 3-5 20-25 40-60 70-90 90-110
Число посетителей в год, не менее тысяч 3-3,5 14-16 28-32 40-50 50-65

Предположим:

a) Затраты на сайт 32523р.

b) Затраты на продвижение 6000р.

c) Прибыль с каждой сделки 500р.

Итого Затраты = 38523р.

Ориентировочное число посетителей в день 50 – 70, тогда количество сделок в среднем 2 – 2,8 в день.

Срок окупаемости, дни = (38523) / (2,8 х 500) = 27 дней

Средняя прибыль в месяц = 2,8 * 500 * 30 = 42000р.

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

1. Географическое расположение фирмы.

Наиболее высокий коэффициент рентабельности работы сайта характерен для Москвы, Санкт-Петербурга и других крупных городов. Чем меньше населённый пункт, тем, как правило, меньше для сайта и коэффициент рентабельности. Речь при этом идёт о сравнении сайтов одинаковых по объёму, дате создания, профессиональному техническому уровню выполнения, одной тематики и т.п.

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

3.Необходимо учитывать сезонность продаж, степень насыщенности рынка конкретным товаром, уровень спроса на конкретный товар в конкретной местности в определённый период времени, соотношение показателя "цена/качество" по сравнению с аналогичными товарами и услугами, представленными на сайтах-конкурентах.

4. Число пользователей Интернет в данном населённом пункте и регионе и многие другие параметры.

ЗАКЛЮЧЕНИЕ

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

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

Благодаря разработанномусайту «Стилендс», существенно сокращается время работы с клиентами. Пользователям сайта становится не обязательным посещение самого магазина, что является очень удобным для тех, кто не располагает должным количеством времени. Так же появляется возможность увеличить количество клиентов, за счёт тех, кто не проживает в непосредственной близости магазина. Таким образом, благодаря сайтам решается проблема порой не выгодного расположения фирмы.

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

ПЕРЕЧЕНЬ КЛЮЧЕВЫХ СЛОВ

Административная панель

База данных

Веб-сайт

Интернет

Информация

Пользователь

Программное обеспечение

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

Шаблон

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

БД - база данных

ОС – операционная система

ПЗ – пояснительная записка

СУБД – Система управления базами данных

Приложение1.Регистрацияновогоклиента.

<?php

require_once($_SERVER['DOCUMENT_ROOT'] . '/library/page_public.php');

class registration_form extends page_public

{

protected function Content()

{

?>

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

<tr>

<tdalign="center">

<h3>Регистрация пользователя</h3>

</td>

</tr>

<tr>

<td>

<h3><?php $this->ShowRegistrationForm(); ?></h3>

</td>

</tr>

</table>

<?php

}

private function ShowRegistrationForm()

{

?>

<form method='post' action='../registration.php'>

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

<tr>

<td>

Логин

</td>

<td>

<input type="text" size="40" name="user_login" />

</td>

</tr>

<tr>

<td>

Пароль

</td>

<td>

<input type="password" size="40" name="user_passwd" />

</td>

</tr>

<tr>

<td>

Подтверждение пароля

</td>

<td>

<input type="password" size="40" name="user_passwd2" />

</td>

</tr>

<tr>

<td>

E-mail

</td>

<td>

<input type="text" size="40" name="user_email" />

</td>

</tr>

<tr>

<td>

Имя

</td>

<td>

<input type="text" size="40" name="user_name" />

</td>

</tr>

<tr>

<td>

Адрес

</td>

<td>

<input type="text" size="40" name="user_city" />

</td>

</tr>

<tr>

<td>

Телефон

</td>

<td>

<input type="text" size="40" name="user_phone" />

</td>

</tr>

<tr>

<td colspan="2" align="center">

<inputtype="submit" value="Зарегистрироваться">

</td>

</tr>

</table>

</form>

<?php

}

}

$page = new registration_form();

$page->DisplayPage();

?>

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

Приложение2. Резервное копирование базы данных.

#!/usr/local/bin/php

<?

$exс=array('information_schema', 'mysql');

$db_pass='password';

$db_user='root';

system('mkdir -p /usr/backup/mysql/'.date('d.m.Y').'/');

$db=mysql_connect("localhost", $db_user, $db_pass);

$sql=mysql_query("SHOW DATABASES");

while($a=mysql_fetch_assoc($sql))

{

$base=$a['Database'];

if(!in_array($base, $exс))

{

exec('/usr/local/bin/mysqldump -u'.$db_user.' -p'.$db_pass.' --opt '.$base.' | /usr/bin/gzip> /usr/backup/mysql/'.date('d.m.Y').'/'.$base.'.gz');

}

}

Приложение 3.CSS-код дизайна веб-сайта.

*{

margin:0px;

padding:0px

}

img{border:0px;}

html{

width:100%;

height:100%;

background-image:url(images/top_bg.gif);

background-position:top left;

background-repeat:repeat-x;

}

body{

width:995px;

height:100%;

margin:0 auto;

background-image:url(images/top.jpg);

background-position:top left;

background-repeat:no-repeat;

font-family:Arial;

font-size:12px;

color:#333333;

}

#meta{

float:right;

padding:31px 70px 0 0

}

#meta a{

color:#113016;

text-decoration:underline;

display:block;

float:left

}

#meta a:visited{text-decoration:underline}

#meta a:hover{text-decoration:none}

#meta span{

padding:0 25px 0 0;

float:left

}

#meta img{

float:left;

margin:0 6px 0 0;

}

#menu{

background-image:url(images/menu_bg.jpg);

background-image:top left;

background-repeat:no-repeat;

margin:247px 0 0 0;

float:left;

width:995px;

height:64px;

text-align:center

}

#menu ul{

width:594px;

margin:0 auto;

}

#menu li{

float:left;

list-style-type:none;

}

#menu li a{

display:block;

float:left;

height:54px;

background-position:bottom;

background-repeat:no-repeat

}

#menu li a:hover{

background-image:url(images/arrow.gif);

}

#menu li a.active{

background-image:url(images/arrow.gif);

}

#content{

background-image:url(images/content_bg.gif);

background-position:top left;

background-repeat:repeat-y;

float:left;

width:953px;

margin:0 0 0 21px;

display:inline

}

.navigation{

width:200px;

float:left

}

.navigation ul{

margin:6px 0 50px 15px;

list-style-type:none;

font-size:13px;

}

.navigation li{

background-image:url(images/li_bg.gif);

background-position:top left;

background-repeat:no-repeat;

height:20px;

padding:4px 0 0 20px;

}

.navigation li a{

text-decoration:none;

color:#535353

}

.center{

width:483px;

float:left;

}

.welcome{

background-image:url(images/welcome.jpg);

background-position:top left;

background-repeat:no-repeat;

margin:6px 0 12px 5px;

display:inline;

width:465px;

height:268px;

float:left

}

.welcome span{

display:block;

width:168px;

height:143px;

margin:120px 0 0 127px;

}

.text{

width:451px;

padding:10px 19px 5px 13px

}

.text p{

padding:15px 15px 0 0

}

.text2{

width:500px;

padding:10px 19px 5px 100px

}

.text2 p{

padding:15px 15px 0 0

}

.news_events{

width:258px;

float:left;

padding:24px 0 0 0;

}

.latest{

margin:14px 0 26px 32px;

}

.news{

position:relative;

margin:18px 0 0 0;

float:left

}

.news p{

width:200px;

padding:0 0 5px 8px;

margin:0 0 0 29px;

border-left:6px solid #DED6AC

}

.data{

position:absolute;

top:0px;

left:0px;

font-weight:bold;

width:35px;

border-bottom:1px solid #DED6AC;

background-color:#FFFFFF

}

.more{

border-left:6px solid #8E190B;

display:block;

float:left;

margin:0 0 0 29px;

display:inline;

padding:0 0 0 8px

}

.more a{

color:#8E190B;

text-decoration:underline;

}

.more a:visited{text-decoration:underline}

.more a:hover{text-decoration:none}

#footer{

width:953px;

float:left;

text-align:center;

color:#FFFFFF

}

#footer a{

color:#FFFFFF;

text-decoration:none;

margin:0 5px

}

#footer a:visited{text-decoration:none}

#footer a:hover{text-decoration:underline}

#copyright{

width:953px;

float:left;

text-align:center;

padding:10px 0;

}

#copyright a{

color:#bde0ff;

text-decoration:underline

}

#copyright a:visited{text-decoration:underline}

#copyright a:hover{text-decoration:none}

.about{

padding:25px 0 0 33px;

width:652px;

float:left

}

.about p{

width:595px;

padding:15px 0 0 0

}

.list{

width:257px;

float:left;

padding:25px 0 0 0

}

.list ul{

margin:17px 0 15px 13px;

list-style-type:none

}

.list li{

background-image:url(images/bullet.gif);

background-position:0px 4px;

background-repeat:no-repeat;

line-height:20px;

padding:0 0 0 19px;

}

.action{

width:451px;

padding:10px 19px 5px 13px

}

Приложение 4.Модулькорзины.

<?php

if(!isset($_COOKIE['mov'])) setcookie ("mov", "2", time()+86400,"/");

if(isset($_COOKIE['bas']))

{

$list=file("admin/db/price.txt");

$conf=file("admin/conf/sett.txt");

for($i=0; $i<count($conf); $i++) $conf[$i]=trim($conf[$i]);

$name=array();

$price=array();

foreach($list as $line)

{

$line=trim($line);

$expl=explode("*",$line);

$name[$expl[2]]=$expl[0];

$price[$expl[2]]=$expl[1];

}

$expl=explode("|",$_COOKIE['bas']);

$count_staf=array_count_values($expl);

$info="";

if(isset($_POST['go']))

{

if($conf[1]!="")

{

$_POST['fam']=trim($_POST['fam']);

$_POST['fam']=htmlspecialchars($_POST['fam']);

$_POST['fam']=stripcslashes($_POST['fam']);

if($_POST['fam']=="")$info="Введите все данные";

}

if($conf[2]!="")

{

$_POST['nam']=trim($_POST['nam']);

$_POST['nam']=htmlspecialchars($_POST['nam']);

$_POST['nam']=stripcslashes($_POST['nam']);

if($_POST['nam']=="")$info="Введите все данные";

}

if($conf[3]!="")

{

$_POST['user_mail']=trim($_POST['user_mail']);

$_POST['user_mail']=htmlspecialchars($_POST['user_mail']);

$_POST['user_mail']=stripcslashes($_POST['user_mail']);

if($_POST['user_mail']=="")$info="Введитевседанные";

}

if($conf[4]!="")

{

$_POST['fone']=trim($_POST['fone']);

$_POST['fone']=htmlspecialchars($_POST['fone']);

$_POST['fone']=stripcslashes($_POST['fone']);

if($_POST['fone']=="")$info="Введите все данные";

}

if($conf[5]!="")

{

$_POST['adr']=trim($_POST['adr']);

$_POST['adr']=htmlspecialchars($_POST['adr']);

$_POST['adr']=stripcslashes($_POST['adr']);

if($_POST['adr']=="")$info="Введите все данные";

}

if($conf[6]!="")

{

$_POST['metr']=trim($_POST['metr']);

$_POST['metr']=htmlspecialchars($_POST['metr']);

$_POST['metr']=stripcslashes($_POST['metr']);

if($_POST['metr']=="")$info="Введите все данные";

}

if($info=="" && $conf[0]!="")

{

$css="<style>

#tab1

{

border-style:solid;

border-color:#D7D7D7;

border-width: 1px;

font-family:Times New Roman, serif;

font-size:11pt;

font-style:normal;

color:#595959;

}

#sett1

{

border-style:solid;

border-color:#D7D7D7;

border-left-width: 0px;

border-right-width: 1px;

border-top-width: 0px;

border-bottom-width:1px;

}

#sett2

{

border-style:solid;

border-color:#D7D7D7;

border-left-width: 0px;

border-right-width: 0px;

border-bottom-width:1px;

border-top-width: 0px;

}

</style>";

$tab_staf="<table id=tab1 CELLPADDING=10 CELLSPACING=0 align=center width=90%>

<tr><td id=sett1>название</td><td id=sett1>количество</td><td id=sett1>цена</td><td id=sett2>стоимость</td></tr>";

$i=0;

foreach($count_staf as $k=>$v)

{

$oll=$price[$k]*$v;

$tab_staf.="<tr><td id=sett1>$name[$k]</td><td align=center id=sett1>$v</td><td align=center id=sett1>$price[$k]&nbsp;$conf[8]</td><td id=sett2 align=center>$oll&nbsp;$conf[8]</td></tr>";

$i+=$oll;

}

if($_COOKIE['mov']=="1")

{

$i+=$conf[7];

$info_mov="Общая стоимость заказа с доставкой $i&nbsp;$conf[8]";

}

else

{

$info_mov="Общая стоимость заказа без доставки $i&nbsp;$conf[8]";

}

$i+=$conf[7];

$tab_staf.="<tr><td colspan=4>$info_mov</td></tr></table><br /><br />";

$tab_user="<table id=tab1 CELLPADDING=10 CELLSPACING=0 align=center width=90%>";

if($conf[1]!="")$tab_user.= "<tr><td id=sett1>Фамилия</td><td id=sett2>$_POST[fam]</td></tr>";

if($conf[2]!="")$tab_user.= "<tr><td id=sett1>Имя</td><td id=sett2>$_POST[nam]</td></tr>";

if($conf[3]!="")$tab_user.= "<tr><td id=sett1>E-mail</td><td id=sett2>$_POST[user_mail]</td></tr>";

if($conf[4]!="")$tab_user.= "<tr><td id=sett1>Телефон</td><td id=sett2>$_POST[fone]</td></tr>";

if($conf[5]!="")$tab_user.= "<tr><td id=sett1>Адрес</td><td id=sett2>$_POST[adr]</td></tr>";

if($conf[6]!="")$tab_user.= "<tr><td id=sett1>Ближайшееметро</td><td id=sett2>$_POST[metr]</td></tr>";

$tab_user.="</table>";

//сохраняемзаказ

$tab_staf_save=str_replace("\r\n","",$tab_staf);

$tab_user_save=str_replace("\r\n","",$tab_user);

$f=fopen("admin/db/order/".time(),"w+");

fwrite($f,date("d.m.Y H:i")."\r\n".$tab_staf_save.$tab_user_save);

fclose($f);

$subject="Новыйзаказнасайте $_SERVER[SERVER_NAME]";

$headers= "MIME-Version: 1.0\r\n";

$headers.= "Content-type: text/html; charset=windows-1251\r\n";

$label=str_replace("www","",$_SERVER['SERVER_NAME']);

$label="admin@".$label;

$headers.= "From: Administrator<$label>\r\n";

$messag=$css.$tab_staf.$tab_user;

mail("$conf[0]", $subject, $messag,$headers);

setcookie ("bas", "", time() - 3600,"/");

setcookie ("mov", "", time() - 3600,"/");

echo "<meta http-equiv=refresh content='0; url=form.php?op=3'>";

exit();

}

}

if(isset($_GET['d']))

{

$expl1=array();

$search=false;

foreach($expl as $line)

{

if($line==$_GET['d'] && $search==false)

{ $search=true;

continue;

}

$expl1[]=$line;

}

$expl1=implode("|",$expl1);

$expl1=urldecode($expl1);

setcookie ("bas", $expl1, time()+86400,"/");

echo "<meta http-equiv=refresh content='0; url=form.php?op=1'>";

exit();

}

if(isset($_GET['add']))

{

$search=false;

foreach($expl as $line)

{

if($line==$_GET['add'])

{

$search=true;

break;

}

}

if($search)

{

$expl[]=$_GET['add'];

$expl=implode("|",$expl);

$expl=urldecode($expl);

setcookie ("bas", $expl, time()+86400,"/");

}

echo "<meta http-equiv=refresh content='0; url=form.php?op=1'>";

exit();

}

}

if($_GET['op']==1)

{

if(isset($_POST['go_mov']))

{

if(isset($_POST['mov'])) setcookie ("mov", "1", time()+86400,"/");

else setcookie ("mov", "2", time()+86400,"/");

echo "<meta http-equiv=refresh content='0; url=form.php?op=1'>";

exit();

}

}

?>

<html>

<head>

<style>

#tab1

{

border-style:solid;

border-color:#D7D7D7;

border-width: 1px;

font-family:"Times New Roman", "serif";

font-size:11pt;

font-style:normal;

color:#595959;

}

#tab

{

font-family:"Times New Roman", "serif";

font-size:11pt;

font-style:normal;

color:#595959;

}

#sett1

{

border-style:solid;

border-color:#D7D7D7;

border-left-width: 0px;

border-right-width: 1px;

border-top-width: 0px;

border-bottom-width:1px;

}

#sett2

{

border-style:solid;

border-color:#D7D7D7;

border-left-width: 0px;

border-right-width: 0px;

border-bottom-width:1px;

border-top-width: 0px;

}

#button {

font-family:"Times New Roman", "serif";

color:#606060;

font-size:12pt;

background-color:#F7F7F7;

font-weight:300;

text-align:center;

padding:2px;

border-style:solid;

border-width: 1px;

border-color:#4B4B4B;

}

#copy a

{

text-decoration:none;

font-family:"Times New Roman", "serif";

font-size:9pt;

font-style:normal;

color:#C0C0C0;

}

</style>

<title>Вашакорзина</title>

</head>

<body onUnload="window.opener.rel();">

<?php

if(isset($_COOKIE['bas']))

{

if($_GET['op']==1)

{ echo"<form name=frm method=post><table id=tab width=90% align=center><tr><td colspan=2><table id=tab1 CELLPADDING=10 CELLSPACING=0 width=100%>

<tr><td id=sett1 align=center>название</td><td id=sett1 align=center>количество</td><td id=sett1 align=center>цена</td>

<td id=sett1 align=center>стоимость</td><td id=sett2 align=center>действия</td></tr>";

$i=0;

foreach($count_staf as $k=>$v)

{ $oll=$price[$k]*$v;

echo "<tr><td id=sett1>$name[$k]</td><td align=center id=sett1>$v</td><td align=center id=sett1>$price[$k]&nbsp;$conf[8]</td>

<td id=sett1 align=center>$oll&nbsp;$conf[8]</td><td id=sett1 align=center><a href=form.php?d=$k><imgsrc=admin/img/min.png alt=удалить border=0></a>

&nbsp;&nbsp;&nbsp;<a href=form.php?add=$k><imgsrc=admin/img/add.png alt=добавить border=0></a></td></tr>";

$i+=$oll;

}

if(isset($_COOKIE['mov']))

{

if($_COOKIE['mov']=="1")

{ $check_mov='checked';

$i+=$conf[7];

$info_mov="Общая стоимость заказа с доставкой $i&nbsp;$conf[8]";

}

else

{ $check_mov="";

$info_mov="Общая стоимость заказа без дос

Наши рекомендации