Интернет-магазин 'Компьютеры и оргтехника'
Федеральное
агентство по образованию
Государственное
образовательное учреждение
Высшего
профессионального образования
Камская
государственная инжинерно-экономическая академия
Кафедра «ПИУ»
Курсовая
работа
по дисциплине
«Информационные технологии»
на тему:
Интернет-магазин «Компьютеры и оргтехника»
Выполнил:
студент гр. 4368-с
Шорин К.В.
Проверил:
старший преподаватель
Петров Д.М.
Набережные
Челны - 2009
Содержание
1. Описание задачи
. Варианты использования системы
. Описание базы данных
.1 Структура таблиц
.2 Описание таблиц
.3 Схема базы данных
.4 SQL запросы на создание таблиц
. Назначение скриптов
. Описание интерфейса
.1 Интерфейс сайта
.2 Интерфейс менеджера
.3 Интерфейс администратора
. Тесты для проверки работоспособности системы
.1 Тестирование системы покупателя
.2 Тестирование системы менеджера
.3 Тестирование системы администратора
Список использованных источников
1. Описание
задачи
Прежде чем приступить к созданию сайта интернет-магазина, рассмотрим
подробнее основные задачи, которые он должен будет осуществлять. Начнем с того,
для какого круга лиц предназначен сайт, и что им необходимо знать для
осуществления покупки.
Интернет-магазин - «Компьютеры и оргтехника» осуществляет продажу
системных блоков, мониторов, комплектующих, принтеры, сканеры и т.д. Основным
покупателем является лицо, непосредственно связанное с компьютером.
Основными задачами сайта являются:
авторизованный вход для администраторов сайта и менеджеров;
список товаров для продажи выводимый с помощью PHP;
список каталогов, через которые осуществляется вход в таблицу с товарами;
система должна позволять помещать товар, с указанным количеством, в
корзину;
система должна позволять выбрать варианты оплаты и доставки, с изменением
суммы;
для администратора должна быть возможность редактирования товаров и
каталогов, а также пользователей, включается также возможность редактирования
информации о фирме и контакты, добавление новостей и редактирование
голосования;
для менеджеров осуществлена возможность просматривания заказов и
установления им статуса.
2. Варианты
использования системы
При взаимодействии пользователя с системой, последняя выполняет ряд
работ, которые образуют вариант использования системы. Рассмотрим каждый
вариант использования по отдельности.
Вход в систему осуществляется тремя способами (путями):
Администратор;
Менеджер;
Покупатель.
Два первых из этих способа используют вход с авторизацией.
Охарактеризуем каждый из этих пользователей подробнее.
Покупатель имеет следующие возможности:
. Просматривать список товаров. При просмотре используется система
каталожного хранения товара, то есть товары сгруппированы в каталоги.
. Помещать товар в корзину.
. Удалять товар из корзины.
. Отправлять заказ для дальнейшей ее обработки.
. Осуществлять поиск по каталогу
Менеджер в свою очередь имеет следующие преимущества и возможности:
1. Вход в систему как менеджер под своим логином и паролем, который
вводится.
2. Просмотреть списоки заказов.
3. Изменять статусы заказов.
4. Взять на исполнение заказ под свое имя.
5. Удалять заказ.
Администратор сайта имеет большой перечень преимуществ:
1. Входить в систему как администратор, используя логин и пароль.
2. Редактировать товары и каталоги.
3. Просматривать информацию о пользователях системы, редактировать,
добавлять и удалять их.
Вариант 1.1
Название
|
Просматривать списки
товаров
|
Автор
|
Шорин К.В.
|
Последнее обновление
|
Шорин К.В.
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Покупатель
|
Описание
|
Покупатель просматривает
каталог товаров, фотографии, описание (то есть открытие pdf)
|
Предварительные условия
|
Нажимаем пункт из главного
меню Каталог или выбираем из меню каталога любой пункт
|
Выходные условия
|
1. Открытие каталога 2.
Открытие фотографии товара 3. Открытие описания товара
|
Нормальное направление
|
Просмотр одного
определенного товара 1. Покупатель открывает страницу 2. Выбирает пункт меню
3. Выбирает каталог, в котором храниться товар 4. Щелкунть по фотографии 5.
Система открывает расширенную фотографию в новом окне 6. Щелкаем по описанию
7. Система открывает файл pdf
|
Альтернативное направление
|
Просмотр других товаров катлога
|
Исключения
|
-
|
Включает
|
-
|
Приоритет
|
Высокий
|
Частота использования
|
Часто
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 1.2
Название
|
Помещать товар в корзину
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Покупатель
|
Описание
|
Помещать товар в корзину
для отправки заказа
|
Предварительные условия
|
Нажимаем кнопку поместить в
заказ
|
Выходные условия
|
1. Помещение товара в
корзину 2. Указание количества товара
|
Нормальное направление
|
Просмотр одного
определенного товара 1. Покупатель открывает страницу 2. Входит в каталог с
товарами 3. Покупатель пишет количество 4. Нажимает кнопку помещения товара в
заказ 5. Система открывает окно заказов
|
Альтернативное направление
|
Заказ второго товара 1.
Нажимаем кнопку переход в каталок 2. Система переходит из корзины в каталог
3. Возврат к пункту 3
|
Исключения
|
-
|
Включает
|
Вариант 1.1
|
Приоритет
|
Высокий
|
Частота использования
|
По мере необходимости
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
Предполагается, что
покупатель осуществит заказ на несколько товаров сразу
|
Замечания и вопросы
|
Нет
|
Вариант 1.3
Название
|
Удалять товар с корзины
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Покупатель
|
Описание
|
Удаляет товар с корзины
|
Предварительные условия
|
Помещение товара в корзину
|
Выходные условия
|
Удаление товара
|
Нормальное направление
|
Удаление одного товара 1.
Покупатель открывает страницу 2. Помещаем товар в корзину (Вариант 4) 3.
Удаляет товар с корзины 4. система выдает сообщение об удалении 5.
Пользователь нажимает кнопку «ОК» 6. Система перемещается в корзину заказов
|
Альтернативное направление
|
Удаление второго товара
Переход к пункту 3
|
Исключения
|
-
|
Включает
|
Вариант 1.4
|
Приоритет
|
Средний
|
Частота использования
|
Редко
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
Вероятно удаление
наскольких видов товаров
|
Замечания и вопросы
|
Не прдусмотрена возможность
удаления сразу нескольких товаров
|
Вариант 1.4
Название
|
Отправка заказа
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Покупатель
|
Описание
|
Отправка заказа для
дальнейшей обработки
|
Предварительные условия
|
Помещение товара в корзину
заказов
|
Выходные условия
|
Создание заказа, удаление
временной таблицы корзины заказа
|
Нормальное направление
|
Осуществление первого
заказа 1. Покупатель открывает страницу 2. Открывает каталог товаров 3.
Помещает товар в корзину 4. Вбор условий оптлаты и отгрузки 5. Заполняет
обязательные поля (свои контактные данные) 6. Покупатель нажимает кнопку
отправить 7. Появляется сообщение об отправки
|
Альтернативное направление
|
Осуществление второго
заказа 1. Возврат к пункту 2
|
Исключения
|
Не введены обязательные
поля: 1. Система сообщает о том что не введены обязательные поля. 2.
Покупатель нажимает «ОК» 3. Система начинает вариант использования заново
|
Включает
|
Вариант 1.4
|
Приоритет
|
По мере необходимости
|
Частота использования
|
Часто
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 1.5
НазваниеОсуществление
поиска
|
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Покупатель
|
Описание
|
Покупатель осуществляет
поиск по каталогу
|
Предварительные условия
|
Открытие сайта
|
Выходные условия
|
Вывод результата поиска
|
Нормальное направление
|
Осуществление первого
поиска 1. Покупатель открывает страницу 2. Вводит критерий поиска 3. Нажимет
Enter 4. Система осуществляет поиск по каталогам и товарам 5. Система выводит
результат поиска 6. Пользователь нажимает ок
|
Альтернативное направление
|
Второй поиск 1. Переход ко
второму пункту
|
Исключения
|
-
|
Включает
|
-
|
Приоритет
|
Средний
|
Частота использования
|
Всегда
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Не предусмотрено условие,
что не найден результат, отображаются пустые таблицы
|
Вариант 2.1
Название
|
Входить в систему как
менеджер
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Менеджер
|
Описание
|
Менеджер входит в систему
под своим логином и паролем
|
Предварительные условия
|
Запуск сайта
|
Выходные условия
|
Вход в систему
|
Нормальное направление
|
Вход одного менеджера 1.
Менеджер открывает страницу 2. Вводит пароль и логин 3. Нажимает кнопку «ОК»
4. Система выводит кнопку входа 5. Менеджер нажимает кнопку «Вход» 6. система
открывает страницу менеджера
|
Альтернативное направление
|
Вход следующего
пользователя: - Необходимо выполнить все пункты
|
Исключения
|
Ввод не верного логина и
пароля Система не отвечает
|
Включает
|
-
|
Приоритет
|
Высокий
|
Частота использования
|
Всегда
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 2.2
Название
|
Просмотр списка заказов
|
Автор
|
|
Последнее обновление
|
.
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Менеджер
|
Описание
|
Менеджер просматривает
списки заказов
|
Предварительные условия
|
Вход в систему менеджера
|
Выходные условия
|
1. Открытие списка заказов
2. Открытие списка товаров в заказе
|
Нормальное направление
|
Просмотр одного заказа 1.
Вход в систему как менеджер 2. Выбор пункта меню 3. Осуществить просмотр
заказа
|
Альтернативное направление
|
Просморт второго заказа
Переход ко второму пункту
|
Исключения
|
-
|
Включает
|
Вариант 2.1
|
Приоритет
|
Высокий
|
Частота использования
|
Часто
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 2.3
Название
|
Изменять статусы заказов
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Менеджер
|
Описание
|
Менеджер может изменять
статусы - на прибыл, выолнен, выполняется, отменен
|
Предварительные условия
|
Вход в систему менеджера
|
Выходные условия
|
Изменение статуса заказа
|
Нормальное направление
|
Выбор одного статуса 1.
Вход в систему как менеджер 2. Выбор пункта меню 3. Выборать изменение
статуса 4. Система открывает окно изменение статуса 5. Выбор статуса 6.
Система меняет статус в заказе 7. Выбор перехода в список
|
Альтернативное направление
|
Выбор второго статуса
Переход ко второму пункту
|
Исключения
|
-
|
Вариан 2.2
|
Приоритет
|
Высоки
|
Частота использования
|
Часто
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 2.4
Название
|
Взять на исполнение заказ
под свое имя
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Менеджер
|
Описание
|
Менеджер может взять на
испольнение заказ
|
Предварительные условия
|
Просмотр заказов
|
Выходные условия
|
Изменение исполнителя
|
Нормальное направление
|
Взять один заказа на
исполнение 1. Вход в систему как менеджер 2. Выбор пункта меню 3. Щелкаем по
исполнителю 4. система окно менеджеров 5. Нажимает закрепить 6. Система
вносит изменения в таблице заказа
|
Альтернативное направление
|
Взять второй заказ на
исполнение Переход ко второму пункту
|
Исключения
|
-
|
Включает
|
Вариант 2.2
|
Приоритет
|
Высокий
|
Частота использования
|
Часто
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 2.5
Название
|
Удалять заказ
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Менеджер
|
Описание
|
Менеджер может удалять
заказы и товары в заказах
|
Предварительные условия
|
Вход в систему менеджера
|
Выходные условия
|
Удаление заказа или товара
в заказе
|
Нормальное направление
|
Удаление одного заказа
(товара в заказе) 1. Вход в систему как менеджер 2. Выбор пункта меню 3.
Удаление 4. Система запрашивает подтверждение удаления 5. Соглашение 6.
Система удаляет заказ (товар заказа)
|
Альтернативное направление
|
Удаление второго заказа
(товара заказа) Переход ко второму пункту
|
Исключения
|
Менеджер передумал удалять
(пункт 4) 1. пользователь нажал далее в список 2. Система переходит в список
товара
|
Включает
|
Вариант 2.2
|
Приоритет
|
Высокий
|
Частота использования
|
Часто
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
Возможно, заказчик
передумал осуществлять покупку
|
Замечания и вопросы
|
Нет
|
Вариант 3.1
Название
|
Входить в систему как
администратор
|
Автор
|
Шорин К.В.
|
Последнее обновление
|
Шорин К.В.
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Администратор
|
Описание
|
|
Предварительные условия
|
Запуск сайта
|
Выходные условия
|
Вход в систему как
администратор
|
Нормальное направление
|
Вход первого пользователя
1. Запуск сайта 2. Ввод логина и пароля 3. Система обрабатывает и появлятся
кнопка Вход 4. Нажатие кнопки входа 5. Система открывает панель
администирования
|
Альтернативное направление
|
Вход второго пользователя
Повтор всех пунктов
|
Исключения
|
-
|
Включает
|
-
|
Приоритет
|
Высокий
|
Частота использования
|
При входе в систему
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 3.2
Название
|
Выполнение действий с
товаром и каталогом
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Администратор
|
Описание
|
Просмотр и редактирование
списка товаров и каталогов
|
Предварительные условия
|
Выбор пункта меню каталог
|
Выходные условия
|
Изменение данных в таблице
товаров (каталогов)
|
Нормальное направление
|
Выполнение действий первого
товара (каталога) 1. Вход в систему как администратор 2. Вход в каталог
товаров 3. Выбор условия редактирования (добавление, изменениу и удаление) 4.
Предложение системой выполнение 5. Осуществление пользователем действий (ввод
данных, нажатие кнопки ок) 6. Выполнение системой действий (добавление,
удаление и изменение)
|
Альтернативное направление
|
Выполнение действий со
вторым товаром Переход к третьему пункту
|
Исключения
|
Администратор отменяет
действие (пункт 5): Переход в каталог
|
Включает
|
Вариант 3.1
|
Приоритет
|
Высокий
|
Частота использования
|
Редко
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
Вариант 3.3
Название
|
Действие над пользоватилями
|
Автор
|
|
Последнее обновление
|
|
Дата создания
|
25.01.09
|
Дата последнего обновления
|
27.01.09
|
Действующие лица
|
Администратор
|
Описание
|
Добавление, изменение и
удаление пользователя
|
Предварительные условия
|
Вход в систему как
администратор
|
Выходные условия
|
Изменение данных в таблице
Пользователи
|
Нормальное направление
|
Действие над одним
пользователем 1. Вход в систему 2. Осуществление действий над данными
пользователя 3. Запрос системой на осуществление действий 4. Ввод данных и
нажатие ОК 5. Выполнение системой опрации 6. Нажатие кнопки далее
|
Альтернативное направление
|
Действие над вторым
пользователем Выполнение со второго пункта
|
Исключения
|
Отказ осуществления
действий (пункт 3) Нажатие кнопки далее
|
Включает
|
Вариант 3.1
|
Приоритет
|
Высокий
|
Частота использования
|
При необходимости
|
Бизнес-правила
|
-
|
Особые требования
|
нет
|
Допущения
|
-
|
Замечания и вопросы
|
Нет
|
3. Описание
базы данных
База данных comp является
основным элементом интернет-магазина «Компьютеров и оргтехники». Эта база
данных позволяет хранить данные, которые являются основным источником для
отображения информации, а именно: каталоги и содержащиеся в нем товары,
пользователи, заказы и операции с ними, информацию о заказчиках и новости.
Управление базой данных занимается администраторы, которые являются
основными пользователями, добавляющим в базу данных информацию. Все они
зарегистрированы в базе данных под именами типом пользователей №2. Менеджеры
объединены в группу 1. Другая группа пользователей называется не
зарегестирована в таблице user,
она тесно связана с заказами и регистрируются данный тип пользователей во время
отправки заказа.
3.1 Структура
таблиц
Моя база данных, то есть apogey
содержит семь таблиц, шесть из которых созданы в PhpMyAdmin, одна создается в php скрипте при запуске сайта.
Рассмотрим их структуру:
razd -
каталоги компьюторов
Поле
|
Тип
|
Функционал
|
Описание
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
nazv
|
varchar(50)
|
Текстовое название каталога
|
|
por
|
int(11)
|
Порядковый номер каталога
|
|
razd2-
каталоги оргтехники
ПолеТипФункционалОписание
|
|
|
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
nazv
|
varchar(50)
|
Текстовое название каталога
|
|
por
|
int(11)
|
Порядковый номер каталога
|
|
tovar
- товары
Поле
|
Тип
|
Функционал
|
Описание
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
vid
|
int(11)
|
Вид каталога
|
|
nazv
|
varchar(50)
|
Текстовое название товара
|
|
foto
|
varchar(50)
|
Путь к рисунку товара
|
|
opisanie
|
text
|
Текстовое описание товара
|
|
zena
|
float
|
Цена товара
|
|
tovar_zakaz - заказанные товары
Поле
|
Тип
|
Функционал
|
Описание
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
id_zakaz
|
int(11)
|
Код заказа (заказчика)
|
|
id_tovar
|
int(11)
|
Код товара
|
|
kol
|
int(11)
|
Количество товара
|
|
summa
|
float
|
Сумма заказанного товара
|
|
user -
пользователи
Поле
|
Тип
|
Функционал
|
Описание
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
tip
|
int(11)
|
Номер типа пользователя
|
1-менеджер, 2-админ
|
login
|
varchar(50)
|
Логин пользователя
|
|
fio
|
varchar(50)
|
Фамилия, Имя, Отчество
пользователя
|
|
email
|
varchar(50)
|
Электронная почта
пользователя
|
|
pass
|
varchar(50)
|
Пароль пользователя
|
|
- временная таблица заказанных товаров
Поле
|
Тип
|
Функционал
|
Описание
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
id_tovar
|
int(11)
|
Код товара
|
|
nazv
|
varchar(20)
|
Название заказанного товара
|
|
firma
|
varchar(10)
|
Фирма заказанного товара
|
|
foto
|
varchar(50)
|
Путь к фотографии
|
|
opisanie
|
text
|
Описание заказанного товара
|
|
zena
|
float
|
Цена заказанного товара
|
|
kol
|
int(11)
|
Количество заказанного
товара
|
|
zakaz - заказ и заказчик
Поле
|
Тип
|
Функционал
|
Описание
|
id
|
int(11)
|
Уникальный код новости
|
auto_increment
|
FIO
|
varchar(50)
|
Фамилия, Имя, Отчество
заказчика
|
|
tel
|
varchar(15)
|
Телефон заказчика
|
|
email
|
varchar(15)
|
Электронная почта заказчика
|
|
data
|
date
|
|
status
|
varchar(15)
|
Статус заказа
|
|
id_men
|
int(11)
|
Код менеджера, исполняющего
заказ
|
|
3.2 Описание
таблиц
Опишем каждую таблицу по отдельности для полного представления базы
данных comp
Первая таблица «razd»
хранит информацию о каталогах компьютеров, где порядок по которому происходит
сортировка при отображении осуществляется по столбцу «por».
Следующая «razd2» аналогична
первой, только это каталог оргтехники.
Третья таблица Товаров хранит информацию о товарах, где значение «vid» является показателем принадлежности
товара к какому то каталогу, если 1 - к компьютерам, 2 - оргтехнике.
Далее следует талица «tovar_zakaz» она представляет собой таблицу
заказов, объединяющей между собой заказчика и товары которые он заказал. В ней
указывается количество указанного товара и ее сумма.
Пятая таблица пользователей необходима для контроля входа пользователей в
панель администрирования и в менеджерскую. Также в случае когда «tip» равен 1,то есть пользователь
является менеджером, его данные используются для связи с заказчиком, что
позволяет контролировать выполнение заказа более автономно.
Шестая таблица является временной, то есть она создается в самом сайте
при создании сессии, то есть при входе на сайт в первый раз. Это позволяет
создавать временную корзину на случай если пользователь решит не заказывать,
данные с корзины будут удалены. В обратном случае - данные будут переписаны в
таблицу с заказами, и также таблица будет уничтожена.
Последняя таблица «zakaz»
представляет собой набор заказчика, «id» данной таблицы является номером заказа и последующем номером счета.
Здесь также указана дата заказа, которая задается автоматически в php, значение которого равно текущему
числу, что очень удобно при контролировании заказа. Поле «status» указывает статус заказа: выполнен
(после того как товар отгружен покупателю и все требования выполнены),
выполняется (после того как менеджер резервирует данный заказ и начинает
работать над его осуществлением), отменен (временное помещение заказа в
хранилище, по каким либо причинам), прибыл (когда заказчик осуществил заказ, но
его еще не обработали).
Данная таблица связывается с таблицей менеджеров (пользовательская
таблица) по уникальному коду менеджера.
Схематически связи всех существующих таблиц мы рассмотрим далее.
3.3 Схема
базы данных
Рисунок 1 - Структурная схема базы данных «comp»
3.4 SQL
запросы на создание таблиц
В phpMyAdmin сформируем экспорт SQL и получаем следующий дамп базы
данных в виде структур рассмотренных ранее таблиц:
-- БД: `comp`
Структура таблицы `razd`
--TABLE `razd` (
`id` int(11) NOT NULL auto_increment,
`nazv` varchar(50) NOT NULL default '',
`por` int(11) NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=45 ;
- Структура таблицы `razd2`TABLE `razd2` (
`id` int(11) NOT NULL auto_increment,
`nazv` varchar(50) NOT NULL default '',
`por` int(11) NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=43 ;
- Структура таблицы `tovar`TABLE `tovar` (
`id` int(11) NOT NULL auto_increment,
`vid` int(11) NOT NULL default '0',
`nazv` varchar(250) NOT NULL default '',
`foto` varchar(250) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=845 ;
- Структура таблицы `tovar_zakaz`TABLE `tovar_zakaz` (
`id` int(11) NOT NULL auto_increment,
`id_zakaz` int(11) NOT NULL default '1',
`id_tovar` int(11) NOT NULL default '1',
`kol` int(11) NOT NULL default '0',
`summa` float NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=41 ;
- Структура таблицы `user`TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`tip` int(11) NOT NULL default '1',
`login` varchar(50) NOT NULL default '',
`fio` varchar(50) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
`pass` varchar(10) NOT NULL default '',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=13 ;
- Структура таблицы `zak`TABLE `zak` (
`id` int(11) NOT NULL auto_increment,
`id_tovar` int(11) NOT NULL default '0',
`nazv` varchar(20) NOT NULL default '',
`firma` varchar(10) NOT NULL default '',
`foto` varchar(50) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',
`kol` int(11) NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;
- Структура таблицы `zakaz`TABLE `zakaz` (
`id` int(11) NOT NULL auto_increment,
`FIO` varchar(50) NOT NULL default '',
`tel` varchar(15) NOT NULL default '',
`email` varchar(15) NOT NULL default '',
`data` date NOT NULL default '0000-00-00',
`status` varchar(15) NOT NULL default 'поступил',
`id_men` int(11) NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=25 ;
4. Назначение
скриптов
Начнем рассмотрения скриптов с главной страницы сайта. С запуском первого
файла php, то есть …apogey/www/index.php, запускается скрипт, в котором начинается сессия, и в
случае если пользователь вошел на сайт в первый раз, то удаляется и затем
создается таблица «zak»:
<?php session_start();(isset($_SESSION['dat'])) {
$_SESSION['dat']=$_SESSION['dat']."a"; }{
$_SESSION['dat']="a"; require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());
$sql="DROP TABLE `zak`";
$datu=mysql_query($sql);
$sql="CREATE TABLE `zak` (
`id` int(11) NOT NULL auto_increment,
`id_tovar` int(11) NOT NULL default '0',
`nazv` varchar(20) NOT NULL default '',
`firma` varchar(10) NOT NULL default '',
`foto` varchar(50) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',
`kol` int(11) NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2
;";
$daty=mysql_query($sql);} ?>
Как видим данный скрип использует файл connect.php,
который является файлом соединяющимся с MySQL и базой данных (данный файл используется во всех
скриптах, связанных с базой данных):
<?php $sqlhost="localhost";
$sqluser="root";
$sqlpass="";
$db="apogey";_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL Ошибка!".mysql_error());_select_db($db) or die("Не возможно считывание данных".mysql_error());
?>
Далее скрипты осуществляют отображение того или иного файла php, что позволяет по отдельности
исправлять и видеть ошибки. Отображение файла folder/start.php:
<?php require_once("folder/start.php"); ?>
Данный файл также содержит в себе скрипт, выполняющий работу с таблицей
каталогов и отображающей в табличном виде последовательность наименований
каталогов:
<?php require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());
$sql="SELECT id,nazv,vid,por FROM razd where vid=0 order
by por";
$data=mysql_query($sql);($row=mysql_fetch_row($data))
{echo "<a
href='?id=0&fid=".$row[0]."'>".$row[1]."</a>";}
?>
Появляется
кнопка «Входа» в случае верного пароля и логина, которая переходит в #"565169.files/image002.gif">
Рисунок
2 - Главное меню сайта
При
щелчке по каталогу компьютеров, то есть по любому из перечисленных наименований
каталога происходит переход в страничку, где в центре отображается список
товаров данного каталога.
Рисунок
3 - Каталог товаров «Системные блоки»
Если
пройти по любому из предложенных каталогов оргтехники, получим такой же
подобный каталог товара.
Рисунок
4 - Каталог товара «Принтеры»
Где
можно указывать количество желаемой продукции и перейти к форме заказа.
Рисунок
5 - Заказ товара
интернет магазин товар оплата
Как
видно в данном окне есть возможность поиска, которая выводит результат поиска
по каталогу товаров.
Рисунок
6 - Результат поиска по параметру «canon»
При
входе в административную или менеджерскую часть открывается следующее окно со
следующим запросом:
Рисунок
7 - Запрос ввода пароля
5.2 Интерфейс
менеджера
Рассмотрим интерфейс менеджера. При входе в систему под менеджером
появляется страничка с новыми заказами.
Рисунок 8 - Страничка менеджера
Выбирая два оставшихся пункта меню: мои заказы, выполненные заказы,
появляется такое же окно, что и начальная только таблица содержит другие
данные.
При переходе по ссылке заказчик появляется список всевозможных
заказчиков, с их данными.
Рисунок 9 - Заказчики
При щелчке на исполнителе появляются все менеджеры данной организации,
эта возможность позволяет передать заказ другому менеджеру.
Рисунок 10 - Менеджеры
Также возможна смена статуса заказа, но при выборе пункта выполняется,
другие менеджеры не могу отслеживать данный заказ.
Рисунок 11 - Смена статуса заказа
При просмотре открывается окно заказа и можно увидеть все наименования и
количества данного заказа.
Рисунок 12 - Окно счета
5.3 Интерфейс
администратора
Администратор также как и менеджер входит в систему, вводя пароль. Первое
окно, которое открывается, отображает список каталога компьютеров, которые он
может удалять, добавлять, удалять и просматривать их содержимое.
Рисунок 13 - Главное окно административной части
В следующем рисунке представлен пример редактирования окна, он аналогичен
окну добавления, не только каталогу но и другого рода информации (товары,
пользователи), рассматриваемой далее.
Рисунок 14 - Редактирование каталога
Следующее окно аналогична со всеми другими окнами удаления, она
отображает окно удаление товара.
Рисунок 15 - Удаление товара
Далее расммотрим пункт просмотра содержимого каталога, при выборе
которого открывается каталог товаров с возможностью удаления и редактирования.
Рисунок 16 - Каталог товаров
Добавлять товар в подкаталоги можно нажав на плюсик расположенный в
каталогах компьютера и оргтехники там где необходимо пополнить товар, так
появляется следующее окно, используя который мы можем добавлять .csv файл, подготовленный заранее.
Рисунок 17 - Добавление товара в каталог
Последним пунктом меню является «пользователи», в которой указана таблица
пользователей входящих в систему с паролем (то есть менеджеры и
администраторы).
Рисунок 18 - Пользователи сайта
Пунк «Добавить каталог» добавляет каталог для компьютеров и оргтехники,
который выбирается из выпадающего списка и пишется название. Выглядит следующим
образом:
6. Тесты для
проверки работоспособности системы
.1
Тестирование системы покупателя
Переход по пункту меню
1. Нажимаем на пункт меню (Каталога и на главную).
2. В середине страницы отображается соответствующее значение, а
именно: Каталоги товаров и информация главной страницы.
. Все перечисленные пункты выполняются
Поиск по каталогу
1. Вводим параметр поиска, например, canon.
2. Нажимаем enter.
. Открывается окно с результатом, где отображены список каталогов,
где содержаться списки товаров в соответствующей таблице.
. Все параметры содержат данное слово, отсюда тест выполняется
Авторизация пользователей
. Нажимаем вход
. Ввод логина и пароля.
. Нажатие кнопки Ок.
. Попадаем в соответствующее для пользователя место (менеджер - в панель
менеджера, администратор - в панель администрирования).
. Выполнение всех пунктов.
Переход в каталог из таблицы товара
. Нажимаем кнопку перехода в каталог.
. Переход в каталог с содержанием подкаталога, куда входил данный
перечень товаров - условие выполняется.
Добавление товара в корзину
. Вводим количество.
. Нажимаем enter или кнопку
заказа.
. Вывод в таблице корзины товара с указанным количеством - пункты
выполняются.
Работа кнопки «Продолжить выбор»
. Нажимаем кнопку в корзине заказа «продолжить выбор».
. Переходим в каталог продукции - выполняется.
Убрать заказ
. Выбираем убрать товар в корзине.
. Товар успешно удален - выполняется.
Способ оплаты и доставки
. Выбираем способ оплаты через любой банк.
. Выбираем с доставкой.
. Получаем результат.
. Производим вычисление вручную.
. Сравниваем результаты - верно.
Отправление заказа без введения обязательных полей
.Нажимаем кнопку отправления заказа.
. Выводит сообщение об ошибке.
Отправление заказа с заполненными обязательными полями
.Заполняем информацию.
. Нажимаем кнопку отправить заказ.
. выводится сообщение об отправке.
. Таблица корзины очищается - выполняется.
6.2
Тестирование системы менеджера
Пункт меню «новые заказы»
.Щелкаем по пункту меню новые заказы.
. Отображаются только те заказы, которые имеют статус прибыл -
выполняется.
Пункт меню «Мои заказы»
. Щелкаем по пункту меню мои заказы.
. Выводятся те заказы, которые относятся к данному менеджеры и имеют
статус выполняется - условие осуществляется.
Пункт меню «Выполненные заказы»
. Щелкаем пункт меню выполненные заказы.
. Выводятся все выполненные заказы - осуществляется.
Изменение статуса заказа
. Выбираем статус.
. Открывается окно изменение статуса.
. Выбираем статус.
. Заказу присваивается данный статус - выполняется.
.3
Тестирование системы администратора
Добавление, изменение и удаление новости, каталога и пользователя
. Нажимаем соответствующую кнопку.
. Открывается окно добавления (с пустыми ячейками), изменения (с
заполненными ячейками) и удаления (с неизменяемыми ячейками).
. Выполнение добавления, изменения и удаления - все условия вуполняются.
Вход в таблицу товаров
.Нажимаем вход.
. Открывается окно товаров - выполнено.
Добавление товара
. Щелкаем по плюсику.
. Появляется окно, в котором вбираем путь к файлу csv.
. Нажимаем отправку.
. Все значения добавлены - выполняется.
Вывод
В данной программе (сайте) все требования были выполнены.
Список
использованных источников
1. Шкрыль
А.А., PHP - это просто. Программируем для web-сайта. - СПб.: БХВ-Петербург, 2007.
2. Бардзелл
Джеффри, Macromedia Dreamweaver 8 с ASP, ColdFusion и PHP. Из первых рук.: пер с англ. - ЭКОМ
Паблишерз, 2007.
. Васвани
Викрам, Полный справочник по MySQL.:
пер с англ. - М.: Издательский дом «Вильямс», 2006.
. Уэнц
Кристиан, JavaScript. Карманный справочник.: Пер с англ.
- М.: ООО «И.Д. Вильямс», 2007.
Приложение
Исходный текст программ
Index.php
<?php session_start();(isset($_SESSION['dat'])) {
//начало сессии
$_SESSION['dat']=$_SESSION['dat']."a";
}
{ header('location:index.php');
$_SESSION['dat']="a"; //если сессия только началась создается таблица zak
require_once("connect.php");
// соединение с базой данных используя след файл
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set character_set_client='cp1251'");_query
("set character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
//для нормального отображения текста базы данных выбираем соответствующую
кодировку браузера
$sql="DROP TABLE `zak`";
$datu=mysql_query($sql); // создание базы данных
$sql="CREATE TABLE `zak` (
`id` int(11) NOT NULL auto_increment,
`id_tovar` int(11) NOT NULL default '0',
`nazv` varchar(20) NOT NULL default '',
`firma` varchar(10) NOT NULL default '',
`foto` varchar(50) NOT NULL default '',
`opisanie` text NOT NULL,
`zena` float NOT NULL default '0',
`kol` int(11) NOT NULL default '0',KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2
;";
$daty=mysql_query($sql);}
// создания отображения верхней части странички, то есть не изменяемой
информации
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- DW6 -->
<head>
<!-- Copyright 2005 Macromedia, Inc. All rights reserved.
-->
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251" />
<title>Магазинчик</title>
<link rel="stylesheet"
href="2col_leftNav.css" type="text/css" />
</head>
<!-- The structure of this file is exactly the same as
2col_rightNav.html;only difference between the two is the stylesheet they use
-->
<body>
<div id="masthead"><table
><tr><td align="left">
<h1 id="siteName">Продажа компьютора и
оргтехники</h1> </td><td align="right"><img
align="middle"src="1.jpg" width="100"
height="70" /></td></tr></table>
</div>
<!-- end masthead -->
<div id="content">
<?php if (($_SERVER['REQUEST_URI']==$_SERVER
['PHP_SELF'])) {
//отображение главной странички
?>
<h2 id="pageName">Главная</h2>
<div>
<h3>О фирме</h3>
<p align="justify">
Интернет магазин компьютеров и оргтехники рад приветствовать вас на своей
торговой площадке. Если вас интересует продажа компьютеров, продажа ноутбуков, а
также продажа компьютерных комплектующих, мы поможем вам сделать правильный
выбор. Наш магазин оргтехники имеет широкий ассортимент и приемлемые цены, и
вас порадует быстрая и в срок доставка компьютерных товаров.</p>
</div>
<div class="story">
<h3>Из истории</h3>
<p align="justify">
Торговая сеть «Компьютика» создана в 1993 году. На сегодняшний день
«Компьютика» является одним из лидеров российского рынка БТиЭ, занимая долю
9%.</p>
<p align="justify">За
счет постоянной оптимизации ассортимента, внедрения современных логистических и
информационных технологий, оптимизации взаимоотношений с поставщиками, а также
благодаря использованию эффективных маркетинговых и рекламных средств в 2006
году торговая сеть достигла самых высоких темпов развития в отрасли - порядка
69%в год.</p>
<p align="justify">В
основе безупречной репутации бренда «Компьютика» лежат мировые стандарты
организации торгового процесса, клиентоориентированный сервис, широчайший выбор
качественных товаров и услуг и доступный уровень цен в современных
гипермаркетах сети. </p>
</div>
<?php } else {
// отображение каталогов
товара(($_SERVER['REQUEST_URI']==$_SERVER
['PHP_SELF']."?id=".$_GET['id']) or
($_SERVER['REQUEST_URI']==$_SERVER
['PHP_SELF']."?id=2") or
($_SERVER['REQUEST_URI']==$_SERVER ['PHP_SELF']."?id=".$_GET['id'])){_once("catalog/index.php");}
}?>
</div>
<!--end content -->
<div id="navBar">
<div id="search">
<?php
//форма поиска
echo "<form action='search.php'
method='post'>"; ?>
<label>Поиск</label>
<input name="searchFor" type="text" size="20"
/>
<input type="submit" value="поиск"
/>
</form>
</div>
<div>
<a href='index.php'>Главная</a>
<h3>Компьютеры</h3>
<ul>
<?php
//каталог компьютеров
require_once('folder/razd.php'); ?>
</ul>
</div>
<div>
<h3>Оргтехника</h3>
<ul>
<?php
//каталог оргтехники
require_once('folder/razd2.php');
//кнопки входа
?>
</ul>
</div>
<div id="advert"> <form
action="admin/pass.php">
<input type="submit" value="Вход как
админ" />
</form>
<form action='meneger/pass.php' />
<input type="submit" value="Вход как
менеджер" />
</form></div>
</div>
<!--end navbar -->
<div id="siteInfo">©2009
Компьютика</div>
<br />
</body>
</html>
Connect.php (во всех папках)
<?php //подключение к MySQL и к базе данных
$sqlhost="localhost";
$sqluser="root";
$sqlpass="";
$db="comp";_connect($sqlhost, $sqluser, $sqlpass)
or die("MySQL error!".mysql_error());_select_db($db) or die("bd
error".mysql_error());
?>.php
<? require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set collation_connection='cp1251_general_ci'");
// фильтр по названию товара из таблицы товара в соотвестствии с
введенными в ячейку данных
$sql="SELECT id,nazv,opisanie,zena,foto FROM tovar where
nazv LIKE '%".$_POST['searchFor']."%'";
$data=mysql_query($sql);($lin=mysql_fetch_row($data)){
// вывод результата по таблице товра в таблицу
?>
<?php'<font
style="font-size:11px;"><b>'.$lin[1].'</b><br><table
><tr><td align="centre"><a
href="foto/'.$lin[4].'" target="_blank"><img
src="foto/'.$lin[4].'" border=1
></a></td>';'<td
>'.$lin[2].'</td></tr></table></font><br><br><table
><tr><td><b>Цена: </b>';
?>
<?php(trim($lin[3]) && $lin[3]>0)
{$lin[3].'руб.';
}
{
"<p>под заказ</p>";
}?>
<?php"</td><td><form
action='index.php' method='post'><input type='text' value=''>
<input type="submit" name="add_order"
style="font-size:10px;" id=add_order value="Добавить в
заказ"></form></tr></table></td><? }?></tr><tr>
<?
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set collation_connection='cp1251_general_ci'");
// фильтр по описанию товара из таблицы товара в соотвестствии с
введенными в ячейку данных
$sql="SELECT id,nazv,opisanie,zena,foto FROM tovar where
opisanie LIKE '%".$_POST['searchFor']."%'";
$data=mysql_query($sql);($lin=mysql_fetch_row($data)){
?>
<table cellSpacing=0 cellPadding=2 width="99%"
border=6>
<?php'<font
style="font-size:11px;"><b>'.$lin[1].'</b><br><table
><tr><td align="centre"><a
href="foto/'.$lin[4].'" target="_blank"><img
src="foto/'.$lin[4].'" border=1></a></td>';
?>
<?php'<td
>'.$lin[2].'</td></tr></table></font><br><br><table
><tr><td><b>Цена: </b>';
?>
<?php(trim($lin[3]) && $lin[3]>0)
{echo $lin[3].'руб.';
}
{echo "<p>под заказ</p>";
}?>
<?php"</td><td><form
action='index.php' method='post'><input type='text' value=''>
<input type="submit" name="add_order"
style="font-size:10px;" id=add_order value="Добавить в
заказ"></form></tr></table>
</td><? }?></tr><tr><?
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set collation_connection='cp1251_general_ci'");
$sql="SELECT nazv,opisanie,zena,foto,id FROM tovar where
zena LIKE '%".$_POST['searchFor']."%'";
$data=mysql_query($sql);($lin=mysql_fetch_row($data)){
?>
<table cellSpacing=0 cellPadding=2 width="99%"
border=6>
<?php'<font
style="font-size:11px;"><b>'.$lin[0].'</b><br><table
><tr><td align="centre"><a
href="foto/'.$lin[3].'" target="_blank"><img
src="foto/'.$lin[3].'" border=1
></a></td>';'<td
>'.$lin[1].'</td></tr></table></font><br><br><table
><tr><td><b>Цена: </b>';(trim($lin[2])
&& $lin[2]>0)
{echo $lin[2].'руб.';
}else{
echo
"<p>под заказ</p>";
echo "</td><td><form action='index.php'
method='post'><input type='text' value=''>
<input type="submit" name="add_order"
style="font-size:10px;" id=add_order value="Добавить в
заказ"></form></tr></table>
</td><? }?>
</tr></table><?php"<br><br>";"<form
action='index.php' method='post'>
<input type='submit' value='OK'>
</form>"
?>
Foldr/razd.php
<?php //отображение списка названия каталогов из таблицы razd
компьютеров
require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sql="SELECT id,nazv,vid,por FROM razd where vid=0 order
by por";
$data=mysql_query($sql);($row=mysql_fetch_row($data))
{ echo "<a
href='?id=0&fid=".$row[0]."'>".$row[1]."</a>";}
?>
Foldr/razd2.php
<?php //отображение списка названия
каталогов из таблицы razd2
оргтехники
require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sql="SELECT id,nazv,por FROM razd2 order by por";
$data=mysql_query($sql);($row=mysql_fetch_row($data))
{"<a
href='index.php?id=".$row[0]."'>".$row[1]."</a>";}
?>
Catalog/index.php
<?
//соединение с таблицей товаров
require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sql="SELECT id,vid,nazv,foto,opisanie,zena FROM
tovar";
$dat=mysql_query($sql);($lin=mysql_fetch_row($dat)){
//условие когда вид товаров равер номеру каталогу, который открыли
if ($lin[1]==$_GET['id'])
//таблица отображения товара
{ ?>
<table cellSpacing=0 cellPadding=2 width="99%"
border=6>
<?php
//название товара
и фотография'<font
style="font-size:11px;"><b>'.$lin[2].'</b><br><table
><tr><td align="centre"><a
href="foto/'.$lin[3].'" target="_blank"><img
src="foto/'.$lin[3].'" border=1></a></td>';'<td
//описание товара
width=240>'.$lin[4].'</td></tr></table></font><br><br><table
><tr><td><b>Öåíà:
</b>';
?>
<?php
// цена товара, ячейка с количеством и кнопка добавить в заказ в одной
строчке
if (trim($lin[5]) && $lin[5]>0)
{$lin[5].'ðóá.';
}
{
echo
"<p>ïîä
çàêàç</p>";
}?>
<?php
//ячейка с количеством"</td><td><form
action='catalog/korzin.php?id=".$lin[0]."' method='post'><input
type='text' value=''>
//кнопка добавить заказ
<input type="submit"
name="add_order" style="font-size:10px;" id=add_order
value="Äîáàâèòü â
çàêàç"></form></tr></table>
</td><? }}?></tr></table>.php
<?php
//соединение с базой данных и таблицей товары
require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sqql="SELECT vid,id,nazv,foto,opisanie,zena FROM tovar
where id=".$_GET['id'];
$roww=mysql_query($sqql);($liene=mysql_fetch_row($roww))
{ if ((isset($_POST['order_'.$liene[1]])) and
($_POST['order_'.$liene[1]]!=""))
{$sqll="INSERT INTO zak
(id,nazv,foto,opisanie,zena,kol,id_tovar)('','".$liene[2]."','".$liene[3]."','".$liene[4]."','".$liene[5]."',
'".$_POST['order_'.$liene[1]]."','".$liene[1]."');";
//условие когда введено значение в поле количество
$rowy=mysql_query($sqll);
}}?>
//вывод результата в таблицу заказа
<b>Ваш заказ:</b>
</p>
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td height=36><input name="button3"
type=button style="font-size:10px"
onclick="document.location.href='../index.php'"
value="Продолжить выбор" />
</td>
</tr>
</table>
<table cellSpacing=0 cellPadding=2 width="99%"
border=4>
<tr>
<td
align="center"><b>Фото</b></td>
<td align="center"><b>Наименование/Описание</b></td>
<td align="center"
align="right"><b>кол.</b></td>
<td
align="right"><b>цена</b></td>
<td align="right"> </td>
</tr>
<? require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$siql="SELECT id,nazv,foto,opisanie,zena,kol FROM
zak";
$rowu=mysql_query($siql);
$summa=0;($arry = mysql_fetch_array($rowu))
{
//суммирование всех выводимых строк цен, умножая на количество
$summa=$summa+$arry[4]*$arry[5]; ?>
<tr>
<td align="center" valign="middle"
align="right">
<?php
if (trim($arry[2]))
{
//вывод фотографии товара
echo '<a href="../foto/'.$arry[2].'"
target="_blank"><img src="../foto/'.$arry[2].'"
border=1 height=30></a>';
}
{' ';
}
?></td>
</td>
//вывод названия и оописания
<td><b><?= $arry[1]
?></b><br><?= $arry[3] ?></td>
//вывод количества
<td align="center"><?= $arry[5]
?></td>
<td align="right"><?php
//вывод цены(trim($arry[4]) && $arry[4]>0)
{$arry[4];
}?>
</td>
<td align='right'>
<?php echo "<a
href='del.php?id=".$_GET['id']."'>Убрать</a>"; ?> </td> </tr> <?}?><tr>
<td colspan="2"><b>Общая
сумма:</b></td>
<td>
//форма для подсчета доставки и выбора условия для этого
<form action="korzin.php?id=<? echo
$_GET['id'];?>" method="post">
<select>
<option value='1' <? if (!isset($_POST['select']))
{$_POST['select']=1;}($_POST['select']==1) { echo
"selected='selected'";}
?>>банк (0%) </option>
<option value='2' <? if ($_POST['select']==2) { echo
"selected='selected'";} ?>>webmoney (5%) </option>
<option value='3' <? if ($_POST['select']==3) { echo
"selected='selected'";}
?>>yandex-деньги
(2%)</option>
</select>
<br />
<input type="radio" name="browser"
value="2" <? if (!isset($_POST['browser']))
{$_POST['browser']=2;}($_POST['browser']==2) { echo
"checked='checked'";} ?> />
Без
доставки
<br />
<input type="radio" name="browser"
value="1" <? if ($_POST['browser']==1) { echo
"checked='checked'";} ?> />
С
доствкой
(2%)
<input type="submit"
value="вычислить">
</form></td><td align="right"><span
style="width:99%;"><b> <? if
($_POST['browser']==1) {$summa=$summa+$summa*0.2;}($_POST['select']==3)
{$summa=$summa+$summa*0.2;}($_POST['select']==2) {$summa=$summa+$summa*0.5;}
//вывод общей суммы, в случае расчетов вывод соответственно
echo $summa; ?></b></span></td>
<INPUT name="summa" type="hidden"
value="<? echo $summa ?>" />
//форма заполнения реквизитов заказчика
<td> </td></tr></table><br><br>
<fieldset
style="width:99%;"><legend>Заполните бланк:</legend>
Поля со звездочкой обязательны для заполнения.<br>
<font color=red>*</font>ФИО:<br>
<?php echo "<form
action='zakaz.php?id=".$_GET['id']."' method='post'>"; ?>
<input type="text" name="fio"
style="width:100%"><br>
<font color=red>*</font>Электронная почта:
<input type="text" name="email"
style="width:100%" /><br><br>
<font color=red>*</font>Телефон:<br>
<input type="text" name="phone"
style="width:100%"><br>
Контактная информация:<br>
<textarea style="width:100%" rows="5"
name="info"></textarea><br>
</fieldset>
<table width="99%" border="0"
cellpadding="0" cellspacing="0">
<tr><td align="right"><input
type="submit" name="sent" value="Отправить заказ"
style="font-size:10px"></form></td>
</tr>
</table>
</td>
//кнопка продолжения выбора, выводит в каталог товаров
<input type="button" value="Продолжить
выбор" style="font-size:10px"
onclick="document.location.href='../index.php'">
<br>
Zakaz.php
<?php
// если заполнены обязательные поля
if (($_POST['fio']!="") and
($_POST['phone']!="") and ($_POST['email']!="")) {_once("connect.php");
$linka=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
// заполнение таблицы заказа с вводом заказчика
$ql="INSERT INTO zakaz
(id,FIO,tel,email,data)('','".$_POST['fio']."','".$_POST['phone']."','".$_POST['email']."','".date('y-m-d')."')";
$rut=mysql_query($ql);
$sqql="SELECT id_tovar,zena,kol FROM zak";
$roww=mysql_query($sqql);
$ql="SELECT id FROM zakaz";
$rut=mysql_query($ql);
$ln=mysql_fetch_row($rut);($ln=mysql_fetch_row($rut)) {
$s=$ln[0];}($liine=mysql_fetch_row($roww)) {
// ввод заказанных товаров в таблицу заказа товара
$qll="INSERT INTO tovar_zakaz
(id,id_tovar,id_zakaz,summa,kol)('','".$liine[0]."','".$s."','".$liine[1]*$liine[2]."','".$liine[2]."')";
$rut=mysql_query($qll);}"<b>заказ отправлен</b>";"<form
action='http://localhost/Tools/apogey/www/?id=0&fid=".$_GET['fid']."'
method='post'>
<input type='submit'
value='OK'>";_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ioeaea!".mysql_error());_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
// удаление и создание таблицы корзины заказа
$sql="DROP TABLE `zak`";
$datu=mysql_query($sql);
$sql="CREATE TABLE `zak` ( `id` int(11) NOT NULL
auto_increment, `id_tovar` int(11) NOT NULL default '0',
`nazv` varchar(20) NOT NULL default '', `firma` varchar(10)
NOT NULL default '', `foto` varchar(50) NOT NULL default '', `opisanie` text
NOT NULL, `zena` float NOT NULL default '0', `kol` int(11) NOT NULL default
'0',KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;";
$daty=mysql_query($sql);
<?php } else
// иначе вывод сообщения о том что поля не заполнены
{echo "<b>запоните поля указанные звездочкой</b>";
echo "<form
action='http://localhost/Tools/apogey/www/?id=22&fid=".$_GET['fid']."'
method='post'>
<input type='hidden' name='d' value='ok'>
<input type='submit' value='OK'>";?>
<? } ?>
Del.php
<?php
// удаление товара с корзины заказа
require_once("connect.php");
$sSQL="DELETE FROM zak WHERE
id=".$_GET['id'];_query($sSQL) or die(mysql_error());"<form
action='http://localhost/Tools/apogey/www/?id=0&fid=".$_GET['fid']."'
method='post'>
<input type='submit'
value='OK'></form>";?>/pass.php
<br /><br /><br /><br />
<p align="center"><b>Для входа введите ваш пароль:
</b></p>
<? $s=0;_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sql2="SELECT id,login,pass,tip FROM user where
tip=1";
$data2=mysql_query($sql2);($line2=mysql_fetch_row($data2))
// проверка на правильность введенного пароля
{ if ((isset($_POST['name'])) and($line2[1]==$_POST['name'])
and ($line2[2]==$_POST['pass'])) {
$_SESSION['dat']="b";
$s=$line2[0]; } } ?>
<table align="center"><?php
//форма ввода пароля и логина
require_once("connect.php");"<form
action='index.php?act=new&id=".$s."'
method='post'>";?>
<font size="1">Логин:</font><br />
<input name="name" type="text"
value="" size="15" />
<br />
<font size="1">Пароль
:<br />
<input name="pass" type="password"
value="" size="15" />
<td align="center">
<input name="submit" type="submit"
value="OK" /></td>
</form>
</table>/index.php
<?php
//еси сессия не началась запрос пароля, если введено не верно не возможно
войти в менеджерскую
session_start();(!isset($_SESSION['dat'])){$_SESSION['dat']="a";}($_SESSION['dat']!="b")
{_once("pass.php");
} else{?>
<html><head>
<meta http-equiv=Content-Type
content="text/html;charset=windows-1251">
<title>Менеджер</title>
<link rel="stylesheet"
href="../2col_leftNav.css" type="text/css" />
</head><body>
<h3 align="center">Вы вошли как менеджер!
</h3>
</br><div id="pageNav"> <div
id="sectionLinks">
<p><?php
//вывод меню"<a
href='?act=new&id=".$_GET['id']."'>Новые заказы</a>
<a href='?act=my&id=".$_GET['id']."'>Мои заказы</a>
<a href='?act=vup&id=".$_GET['id']."'>Выполненные
заказы</a>";?>
</div>
<div id="advert"> </div>
</div> <div class="feature">
<?php
//вывод значение данного файла
require_once("zakaz.php"); ?>
</div>
<p
align="center"> </p><script
type="text/javascript">
<? }?></body>
</html>/zakaz_tovar.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" />
<h2>Изменение статуса заказа</h2></br>
// если выбран вход в изменение статуса
<?php if
($_SERVER['REQUEST_URI']=="/Tools/apogey/www/meneger/zakaz_tovar.php?id=".$_GET['id']."&vid=".$_GET['vid'])
{require_once("connect.php");
// выбор тех значений заказа по номеру
$sSQL="SELECT id,FIO,status,data,id_men FROM zakaz WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);echo
//форма изменения статуса
"<form action='http://localhost/Tools/apogey/www/meneger/zakaz_tovar.php?act=vid&id=".$_GET['id']."&vid=".$_GET['vid']."'
method='post'> ";
echo
"<BR>выберите
статус
для заказа<br>";?>
<select>
<option value='прибыл' selected="selected">прибыл</option>
<option value='выполняется’></option>
<option value='выполнен’></option>
<option value='отменен’></option> </select><?php echo
"<BR><br>
<input type='submit'
value='OK'></form>";}else {
//если выбор статуса осуществлен появляется кнопка далее
require_once("connect.php");_query('SET NAMES
cp1251');
$sSQL="UPDATE zakaz SET
status='".$_POST['stat']."',id_men=".$_GET['vid']."id=".$_GET['id'];_query($sSQL)
or die(mysql_error());}"<form
action='http://localhost/Tools/apogey/www/meneger/?act=new&id=".$_GET['vid']."'
method='post'>
<input type='submit'
value='Далее'></form>";?>/zakaz_open.php
<h2> <font size="3"><b>Заказ
№
<?php require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
//вывод товаров входящих в данный заказ
$sql3="SELECT id,id_zakaz,summa,id_tovar,kol FROM
tovar_zakaz where id_zakaz=".$_GET['id'];
$data3=mysql_query($sql3);$_GET['id']."</b></font></h2></br>";
$s=1; $summ=0; echo "<table BORDER=2
bgcolor=white>
<tr> <td
align='center'><strong>п/п</strong></td>
<td
align='center'><b>Название</b></td>
<td
align='center'><b>Количество</b></td>
<td
align='center'><b>Сумма</b></td>
<td
align='center'><b>Удалить</b>
</td>
</tr>"; while
($line3=mysql_fetch_row($data3)) {"<tr>"; echo
"<td>".$s."</td>";$s++;
// вывод названия товара используя таблицу товара
$sql1="SELECT id,nazv FROM tovar where
id=".$line3[3];
$data1=mysql_query($sql1); while
($line1=mysql_fetch_row($data1)){"<td
align='center'>".$line1[1]."</td>";}"<td
>".$line3[4]."</td>";"<td
>".$line3[2]."</td>";
// суммирование столбца
сумм
$summ=$summ+$line3[2]; echo "<td
align='center'><form action='http://localhost/Tools/apogey/www/admin/zakaz_delete.php?id=".$_GET['id']."&d=".$line3[0]."'
method='post'>
<input type='image'
src='b_drop.png'></form></td>"; echo
"</tr>";}"<tr><td
colspan='3'><b>Итого:
</b></td><td
><b>".$summ."</b></td>"; echo
"</table>";
//вывод ф.и.о. заказчика
$sql2="SELECT id,FIO,status,data,id_men FROM zakaz where
id=".$_GET['id'];
$data2=mysql_query($sql2);($line2=mysql_fetch_row($data2))
{ echo "<br><br><b>Заказчик:<br>".$line2[1]."</b>";}?>/zakaz_del.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" />
<h2>Заказ№
<?php if
($_SERVER['REQUEST_URI']=="/Tools/apogey/www/meneger/zakaz_del.php?id=".$_GET['id'])
{require_once("connect.php");
//вывод номера
заказа
$sSQL="SELECT id,FIO,status,data,id_men FROM zakaz WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);echo $line[0];echo
"</h2><BR>";"<form
action='http://localhost/Tools/apogey/www/meneger/zakaz_del.php?act=del&id=".$_GET['id']."'
method='post'>
<input type='hidden' name='id'
value='".$line[1]."'>";"<input type='submit'
value='OK'></form>";}else{
//удаление заказа и каскадное удаление товаров в заказе
if ($_GET['act']=='del')
{require_once("connect.php");
$sSQL="DELETE FROM zakaz WHERE
id=".$_GET['id'];_query($sSQL) or die(mysql_error());
$sSQL="DELETE FROM tovar_zakaz WHERE
id_zakaz=".$_GET['id'];_query($sSQL) or die(mysql_error()); "</h2><br><b>заказ удален</b>";}}?>
Meneger/zakaz_delete.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" />
<h2>удаление товар с заказа</h2> </br>
//удаление товара
в заказе
<?php echo "<form
action='http://localhost/Tools/apogey/www/admin/zakaz_open.php?id=".$_GET['id']."'
method='post'>"; require_once("connect.php");
$sSQL="DELETE FROM tovar_zakaz WHERE
id=".$_GET['d'];_query($sSQL) or die(mysql_error()); "<b> товар с заказа успешно удален</b><br><br>
<input type='submit'
value='Далее'></form>";?>/zakaz.php
<h2> <font size="3"><b>Заказ</b></font></h2>
</br>
<?php require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
//выбор таблицы
заказа
$sql2="SELECT id,FIO,status,data,id_men FROM
zakaz";
$data2=mysql_query($sql2);"<table BORDER=2
bgcolor=white> <tr>
<td align='center'><b>Заказ</b></td>
<td align='center'><b>Дата</b></td>
<td align='center'><b>Заказчик</b></td>
<td align='center'><b>Исполнитель</b></td> <td
align='center'><b>Статус
заказа</b></td>
<td align='center'><b>Суммаb></td>
<td align='center'><b>Удалить заказ</b>
</td>
{ вывод значений в таблицу"<tr>"; echo "<td>Заказ №;
".$line2[0]."</td>";"<td
>".$line2[3]."</td>";"<td
align='center'><a
href='http://localhost/Tools/apogey/www/admin/zakaz_zakaz.php?id=".$line2[0]."'>".$line2[1]."</a></td>";"<td
align='center'><a
href='http://localhost/Tools/apogey/www/admin/zakaz_men.php?id=".$line2[0]."'>";($line2[4]==0){
echo "не определен”</a></td>";} else {
//вывод фамилии исполнителя по его номеру из таблицы пользователей
$sql1="SELECT id,fio FROM user where
id=".$line2[4];
$data1=mysql_query($sql1);($line=mysql_fetch_row($data1))
{ echo $line[1];}} echo
"</a></td>";"<td
align='center'><a
href='http://localhost/Tools/apogey/www/admin/zakaz_tovar.php?id=".$line2[0]."'>".$line2[2]."</td>";
//вывод суммы заказа, просуммировав сумму заказанных товаров
$sql3="SELECT id,id_zakaz,summa FROM tovar_zakaz where
id_zakaz=".$line2[0];
$data3=mysql_query($sql3);
$summ=0; while ($line3=mysql_fetch_row($data3))
{$summ=$summ+$line3[2];}"<td align='center'>".$summ."</td>";"<td
align='center'><form
action='http://localhost/Tools/apogey/www/admin/zakaz_del.php?id=$line2[0]'
method='post'>
<input type='image'
src='b_drop.png'></form></td>";"<td
align='center'><form action='http://localhost/Tools/apogey/www/admin/zakaz_open.php?id=$line2[0]'
method='post'>
<input type='image'
src='b_props.png'></form></td>";"</tr>";}
echo "</table>";?>/zakazik.php
<?php require_once("connect.php");
//выполнение изменения исполнителя в таблице заказов
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());
$sql2="UPDATE zakaz SET
id_men='".$_GET['men']."' where id=".$_GET['id'];
$data2=mysql_query($sql2);"<b>исполнитель закреплен </b><br><br>
<form
action='http://localhost/Tools/apogey/www/admin/zakaz.php?id=".$_GET['id']."'
method='post'>
<input type='submit'
value='Далее'></form>";
?>/zakaz_men.php
<h2> <font size="3"><b>Исполнители<?php_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());
$sql2="SELECT id,fio,tip,email FROM user where
tip=1";
$data2=mysql_query($sql2);
//отображаются пользователи-менеджеры
echo
"</b></font></h2></br>";"<table
BORDER=2 bgcolor=white> <tr>
<td
align='center'><strong>Ф.И.О</strong></td>
<td
align='center'><b>e-mail</b></td>
<td
align='center'><b>e-mail</b></td>
</tr>";($line2=mysql_fetch_row($data2)) { echo
"<tr>";"<td
>".$line2[1]."</td>";"<td
>".$line2[3]."</td>";"<td
align='center'> <a href='http://localhost/Tools/apogey/www/admin/zakazik.php?id=".$_GET['id']."&men=".$line2[0]."'закрепить</a>
</td>"; echo "</tr>";} echo
"</table>";?>/zakaz_zakaz.php
<h2> <font
size="3"><b>Заказчики<?php_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ошибка!".mysql_error());
$sql2="SELECT id,FIO,tel,email FROM zakaz";
$data2=mysql_query($sql2);
// отображение таблица заказчиков
echo
"</b></font></h2></br>"; echo "<table
BORDER=2 bgcolor=white> <tr>
<td
align='center'><strong>Ф.И.О</strong></td>
<td
align='center'><b>телефон</b></td>
<td align='center'><b>e-mail</b></td>
</tr>";($line2=mysql_fetch_row($data2)) { $s=0;
$sql3="SELECT id,FIO,tel,email FROM zakaz";
$data3=mysql_query($sql3);($line3=mysql_fetch_row($data3))
{if ($line2[1]==$line3[1]) $s++;}($s==1) { echo
"<tr>";"<td
>".$line2[1]."</td>";"<td
>".$line2[2]."</td>";"<td
>".$line2[3]."</td>";"</tr>";}}
echo "</table>"?>/index.php
<?php session_start();
//при не введении или не верном его введении пароля запрос заново
if
(!isset($_SESSION['dat'])){$_SESSION['dat']="a";}_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set collation_connection='cp1251_general_ci'");
$sql2="SELECT id,login,pass,tip FROM user where
tip=2";
$data2=mysql_query($sql2);($line2=mysql_fetch_row($data2))
//проверка верности пароля
{ if ((isset($_POST['name'])) and($line2[1]==$_POST['name'])
and ($line2[2]==$_POST['pass'])) {
$_SESSION['dat']="b";
} }($_SESSION['dat']!="b")
{_once("pass.php");
} else{?>
<html>
<head>
<meta http-equiv=Content-Type
content="text/html;charset=windows-1251">
<title>Admin</title>
<link rel="stylesheet"
href="../2col_leftNav.css" type="text/css" />
</head>
<body>
<h3 align="center">Вы
вошли в систему как админ! </h3>
</br>
<div id="pageNav">
<div id="sectionLinks">
//меню администратора
<p><a href="?vid=1">Каталог копьютеров
</a><a href="?vid=2">Каталог оргтехники </a><a
href="?9">Пользователи</a><a
href="?vid=3">Добавить каталог</a></p>
</div> <div id="advert"> </div>
</div> <div class="feature">
<?php
//вывод значения привыборе пункта меню
if
($_SERVER['REQUEST_URI']==$_SERVER['PHP_SELF']."?vid=1")
{require_once("cat.php");}{(($_SERVER['REQUEST_URI']==$_SERVER['PHP_SELF']."?vid="
.$_GET['vid'])."id=".$_GET['id']){_once("tovar.php");}
}} ?> </div>
<p
align="center"> </p><script
type="text/javascript">
<? }?>
</body>
</html>/cat.php
<h2>Подкаталоги</h2> </br><?php require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL
ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sql="SELECT nazv,vid,por,id FROM razd order by
por";
//отображения каталога который относится к выбранному каталогу
$data=mysql_query($sql);"<table BORDER=2
bgcolor=white>
<tr><td
align='center'><b>Название</td>
<td align='center'><bДобавить товар </td>
<td align='center'><b>Изменить подкаталог</td>
<td align='center'><b>Удалить подкаталог</td>
<td align='center'><b>Войти в подкаталог</td>
</tr>";($line=mysql_fetch_row($data))
{ If ($line[1]==$_GET['vid']) {echo
"<tr>";"<td
>".$line[0]."</td>";"<td
align='center'><form
action='http://localhost/Tools/apogey/www/admin/add_tovar.php?vid=$line[1]&id=$line[3]'
method='post'>
<input type='image' src='plus_fav.gif'></form></td>";"<td
align='center'><form
action='http://localhost/Tools/apogey/www/admin/edit_cat.php?id=$line[3]'
method='post'>
<input type='image'
src='b_edit.png'></form></td>";"<td
align='center'><form action='http://localhost/Tools/apogey/www/admin/?vid=$line[1]&id=$line[3]'
method='post'>
<input type='image'
src='b_props.png'></form></td>";"<td
align='center'><form
action='http://localhost/Tools/apogey/www/admin/del_cat.php?id=$line[3]'
method='post'>
<input type='image'
src='b_drop.png'></form></td>"; echo
"</tr>";} }echo "</table>";?>/add_cat.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" />
<h2>Создание каталога</h2>
<BR><form action="index.php?vid=1"
method="post">
<input type="submit" value="Переход в список">
</form>
<form action="<? echo
$_SERVER['PHP_SELF'];?>?vid=33" method="post">
<p>
<?php require_once("connect.php");
//форма добавления
каталога(($_SERVER['REQUEST_URI']==$_SERVER['PHP_SELF']."?vid=33"))
{mysql_query('SET NAMES cp1251');($_POST['select']==2) {
$sSQL="INSERT INTO razd2
(id,nazv)('','".$_POST['naz']."');";}{$sSQL="INSERT INTO
razd (id,nazv)('','".$_POST['naz']."');";}_query($sSQL) or
die(mysql_error());;}?> <BR>
Тема:<BR>
<input size="100" name="naz" type="text"
value="" /><br />
//выбор компьютеров или оргтехники
<select>
<option value='1' <? if (!isset($_POST['select']))
{$_POST['select']=1;}($_POST['select']==1) { echo
"selected='selected'";} ?>>компьюторы</option>
<option value='2' <? if ($_POST['select']==2) { echo
"selected='selected'";} ?>>Оргтехника</option>
</select>
<?phpecho " <BR><BR> </p>
<p>"; ?> <input type="submit"
value="OK"> </p>
</form>
<form action="admin/index.php?2"
method="post">
</form>/edit_cat.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" /><div
id="pageNa"></div>
<h2>Изменение каталога </h2></br>
<?php if
($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/edit_cat.php?id=".$_GET['id'])
{
//отображение редактируемого каталога_once("connect.php");
$sSQL="SELECT nazv,vid,por,id FROM razd WHERE
id=".$_GET['id'];_query($sSQL) or die(mysql_error());
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);"<form
action='http://localhost/Tools/apogey/www/admin/edit_cat.php?act=edit&id=".$_GET['id']."'
method='post'>
";"Название
:<BR>
<input name='name' type='text' value='".$line[0];echo
"'>
<br><input type='hidden' name='id'
value='".$line[1]."'";"<BR><input type='submit'
value='OK'></form>";"<form
action='http://localhost/Tools/apogey/www/admin/?vid=0' method='post'>
<input type='submit'
value='Далее'></form>";}else
{
//изменение редактируемого каталога
require_once("connect.php");
$sSQL="SELECT nazv,vid,por,id FROM razd WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());($_GET['act']=='edit') {$sSQL="UPDATE razd SET
nazv='".$_POST['name']."'id=".$_GET['id'];_query('SET NAMES
cp1251');_query($sSQL) or die(mysql_error());"<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_POST['id']."'
method='post'>
<input type='submit'
value='Далее'>
</form>";}}
?>/del_cat.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" /><div
id="pageNa"></div>
<h2>Удаление каталога </h2></br>
<?php if
($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/del_cat.php?id=".$_GET['id'])
{require_once("connect.php");
$sSQL="SELECT nazv,vid,por,id FROM razd WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);
// отображение удаляемого значения
echo"<form action='http://localhost/Tools/apogey/www/admin/del_cat.php?act=del&id=".$_GET['id']."' method='post'>
";
echo
"<b>Название
:</b><BR>
".$line[0];echo "<BR><br><input
type='hidden' name='id'
value='".$line[1]."'>";"<BR><input
type='submit' value='OK'></form>";"<form
action='http://localhost/Tools/apogey/www/admin/?vid=0' method='post'>
<input type='submit'
value='Далее'>
</form>";}else {
//удаление каталога($_GET['act']=='del')
{require_once("connect.php");
$sSQL="DELETE FROM razd WHERE
id=".$_GET['id'];_query($sSQL) or die(mysql_error());
$sSQL="DELETE FROM tovar WHERE
vid=".$_GET['id'];_query($sSQL) or die(mysql_error());"<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_POST['id']."'
method='post'>
<input type='submit'
value='Далее'>
</form>";}}?>/tovar.php
<h2> <font size="3"><b>Каталог продукции</b></font></h2></br> <?php
require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ошибка!".mysql_error());
//отображение товара принадлежащих к выбранному подкаталогу
$sql="SELECT id,vid,nazv,foto,opisanie,zena FROM tovar
where vid=".$_GET['id'];
$data=mysql_query($sql);"<table BORDER=2
bgcolor=white>
<tr><td align='center'><b>Название</td>
<td align='center'><b>Фото</td>
<td align='center'><b>описание</td>
<td align='center'><b>цена</td>
<td align='center'><b>Изменить </td>
<td align='center'><b>Удалить</td>
</tr>";($line=mysql_fetch_row($data))
{ echo "<tr>";"<td><font
size='2'>".$line[2]."</font></td>";"<td><font
size='2'>".$line[4]."</font></td>";"<td><font
size='2'>".$line[3]."</font></td>";"<td><font
size='2'>".$line[5]."</font></td>";"<td
align='center'><form
action='edit_tovar.php?vid=".$_GET['vid']."&id=".$line[0]."'
method='post'>
<input type='image'
src='b_edit.png'></form></td>";"<td
align='center'><form
action='del_tovar.php?vid=".$_GET['vid']."&id=".$line[0]."'
method='post'>
<input type='image'
src='b_drop.png'></form></td>";"</tr>";
}echo "</table>";?>/add_tovar.php
<link rel="stylesheet" href="emx_nav_left.css"
type="text/css" /><div id="pageNa"> </div>
<h2>Добавление товаров </h2><BR><?php
//вызов файла activ.php после загрузки файла
echo "<form
action='action.php?vid=".$_GET['vid']."&id=".$_GET['id']."'
method='post' enctype='multipart/form-data'><input type='file'
name='upload'><input type='submit' value='send'></form>";
?>/edit_tovar.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" /><div
id="pageNa"></div>
<h2>Изменение товара</h2></br><?php if ($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/edit_tovar.php?vid=".$_GET['vid']."&id=".$_GET['id'])
{require_once("connect.php");
$sSQL="SELECT id,vid,nazv,firma,foto,opisanie,zena FROM
tovar WHERE id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL); $line=mysql_fetch_row($data);
//вывод значений текущего товара в форму
echo"<form
action='http://localhost/Tools/apogey/www/admin/edit_tovar.php?act=edit&vid=".$_GET['vid']."&id=".$_GET['id']."'
method='post'> ";echo
"Название
:<BR>
<input name='nazv' type='text' value='".$line[2];echo
"'>";echo
"<BR>Фирма:<BR>
<input name='firma' type='text' size='70'
value='".$line[3];echo "'>";echo "<BR>
Фото:<BR>
<input name='foto' type='text' size='70'
value='".$line[4];echo "'>";echo "<BR>
Цена:<BR><input
name='zena' type='text' size='70'
value='".$line[6];"'>";echo
"<BR>Описание:<BR>
<input name='opisanie' type='text' size='70' value='".$line[5];echo
"'>
<input type='hidden' name='id'
value='".$line[1]."'";echo "<BR><br>
<input type='submit'
value='OK'></form>";"<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_GET['vid']."'
method='post'>
<input type='submit' value='Далее'>
</form>";}else {
//сохранение значений в форме
require_once("connect.php");
$sSQL="SELECT id,vid,nazv,firma,foto,opisanie,zena FROM
tovar WHERE id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());($_GET['act']=='edit') {$sSQL="UPDATE tovar SET
nazv='".$_POST['nazv']."',firma='".$_POST['firma']."',foto='".$_POST['foto']."',opisanie='".$_POST['opisanie']."',zena='".$_POST['zena']."'WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());}echo "<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_GET['vid']."&id=".$_POST['id']."'
method='post'>
<input type='submit'
value='Далее'>
</form>";}?>/del_tovar.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" /><div
id="pageNa"></div>
<h2>Вы уверены что хотите удалить
товар? </h2><br>
<?php if
($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/del_tovar.php?vid=".$_GET['vid']."&id=".$_GET['id']{
//вывод значение удаляемого товара_once("connect.php");
$sSQL="SELECT id,vid,nazv,firma,foto,opisanie,zena FROM
tovar WHERE id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);"<form action='http://localhost/Tools/apogey/www/admin/del_tovar.php?act=del&vid=".$_GET['vid']."&id=".$_GET['id']."'
method='post'>
";"<b>Название
:</b><BR>".$line[2];"<BR><BR><BR><b>Фирма:</b><BR>".$line[3];"<BR><BR><BR><b>Фото:</b><BR>".$line[4];"<BR><BR><BR><b>Цена:</b><BR>".$line[6];"<BR><BR><BR><b>Описание:</b><BR>".$line[5];"<input
type='hidden' name='id' value='".$line[1]."'>";echo
"<BR><BR><BR>
<input type='submit'
value='OK'></form>";"<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_GET['vid']."'
method='post'>
<input type='submit'
value='Далее'>
</form>";}else {
//удлить товар($_GET['act']=='del')
{require_once("connect.php");
$sSQL="DELETE FROM tovar WHERE
id=".$_GET['id'];_query($sSQL) or die(mysql_error());"<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_GET['vid']."&id=".$_POST['id']."'
method='post'>
<input type='submit' value='Далее'></form>";}}?>/user.php
<h2><strong><font size="3">Пользователи</font></strong></h2></br>
<?php require_once("connect.php");
$link=mysql_connect($sqlhost, $sqluser, $sqlpass) or
die("MySQL ошибка!".mysql_error());_query
("set character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sql2="SELECT id,fio,tip,email,pass FROM user";
$data2=mysql_query($sql2);
//вывод значение таблицы пользователей
echo "<table BORDER=2 bgcolor=white> <tr>
<td align='center'><b>Ф.И.О.</b></td>
<td align='center'><b>тип пользоватнля</b></td>
<td
align='center'><b>e-mail</b></td>
<td align='center'><b>пароль</b></td>
<td align='center'><b>изменить</b></td>
<td align='center'><b>удалить</b> </td>
</tr>";($line2=mysql_fetch_row($data2)) { echo
"<tr>";"<td
>".$line2[1]."</td>"; echo
"<td>";
// Вывод типо по номеру типа
if ($line2[2]==1) {echo "Менеджер";} if ($line2[2]==2)
{echo "Администратор";}
echo "</td>"; echo "<td
>".$line2[3]."</td>";"<td
>".$line2[4]."</td>"; echo
"<td align='center'><form
action='http://localhost/Tools/apogey/www/admin/edit_user.php?id=$line2[0]'
method='post'>
<input type='image'
src='b_edit.png'></form></td>";"<td
align='center'><form action='http://localhost/Tools/apogey/www/admin/del_user.php?id=$line2[0]'
method='post'>
<input type='image'
src='b_drop.png'></form></td>";"</tr>";}
echo "</table>";?>
<form
action="http://localhost/Tools/apogey/www/admin/new_user.php"
method="post">
<input name="submit" type="submit"
value="Добавить нового
пользователя">
</form>/new_user.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" /><div
id="pageNa"></div>
<h2>Добавление нового пользователя</h2></br><form action="?act=new" method="post">
<?php require_once("connect.php");
//добавление нового
пользователя($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/new_user.php?act=new")
{mysql_query('SET NAMES cp1251');$sSQL="INSERT INTO user
(id,fio,tip,email,pass,login)('','".$_POST['fio']."','".$_POST['tip']."','".$_POST['email']."','".$_POST['pass']."','".$_POST['login']."');";_query($sSQL)
or die(mysql_error()); }?>
Логин.
:<BR><input name="login" type="text"
value="" size="50">
<BR>Ф.И.О.
:<BR><input name="fio" type="text"
value="" size="50">
<BR>Тип пользоавателя 1-менеджер, 2-админ :<BR><input
name="tip" type="text" value="">
<BR>e-mail:<BR><input name="email"
type="text" value=""><BR>
Пароль:<BR><input
name="pass" type="text" value=""><BR>
<input type="submit"
value="OK"></form>
<form
action="http://localhost/Tools/apogey/www/admin/?9"
method="post">
<input type="submit" value="Далее в список"></form>/edit_user.php
<link rel="stylesheet" href="emx_nav_left.css"
type="text/css" /><div id="pageNa"> </div>
<h2>Изменение параметров
пользователя </h2></br>
<?php if
($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/edit_user.php?id=".$_GET['id'])
{
//вывод редактируемых полей таблицы_once("connect.php");
$sSQL="SELECT id,fio,tip,email,pass,login FROM user
WHERE id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);echo
"<form
action='http://localhost/Tools/apogey/www/admin/edit_user.php?act=edit&id=".$_GET['id']."'
method='post'>
"; echo
"Логин :<BR>
<input name='login' type='text' size='80' value='".$line[5];echo
"' /> <BR> ";echo "Ф.И.О.
:<BR>
<input name='fio' type='text' size='80'
value='".$line[1];echo "'>";echo "<BR>
тип аользователя 1-менеджер, 2-админ:<BR><input
name='tip' type='text' size='10'
value='".$line[2];"'>";echo
"<BR>email:<BR><input name='email' type='text'
size='70' value='".$line[3];"'><BR>Пароль:<BR>
<input name='pass' type='text' size='70'
value='".$line[4];echo "'>";echo "<BR>
<input type='submit'
value='OK'></form>";}else {
//изменение значений в таблице
require_once("connect.php");
$sSQL="SELECT id,fio,tip,email,pass,login FROM user
WHERE id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());($_GET['act']=='edit') {$sSQL="UPDATE user SET
fio='".$_POST['fio']."',tip='".$_POST['tip']."',email='".$_POST['email']."',pass='".$_POST['pass']."',login='".$_POST['login']."'WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());}}?>
<form
action="http://localhost/Tools/apogey/www/admin/?9"
method="post">
<input type="submit" value="Далее в список"></form>/del_user.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" /><div
id="pageNa"></div>
<h2>Вы уверены что хотите удалить
данного пользователя ? </h2><br> <?php
//отображение Ф.И.О. удаляемого пользователя
if ($_SERVER['REQUEST_URI']=="/Tools/apogey/www/admin/del_user.php?id=".$_GET['id'])
{
require_once("connect.php");
$sSQL="SELECT id,fio,tip,email,pass FROM user WHERE
id=".$_GET['id'];
$data=mysql_query($sSQL);
$line=mysql_fetch_row($data);"<form
action='http://localhost/Tools/apogey/www/admin/del_user.php?act=del&id=$line[0]'
method='post'>";_once("connect.php");
$sSQL="SELECT id,fio,tip,email,pass FROM user WHERE
id=".$_GET['id'];_query('SET NAMES cp1251');_query($sSQL) or
die(mysql_error());
$data=mysql_query($sSQL); $line=mysql_fetch_row($data);"
<BR><h2>".$line[1]."</h2> <input type='submit'
value=' да'> </form>"; } else {
//удаление пользователя($_GET['act']=='del')
{require_once("connect.php");
$sSQL="DELETE FROM user WHERE id=".$_GET['id'];
mysql_query($sSQL) or die(mysql_error());}}?>
<form action='http://localhost/Tools/apogey/www/admin/?9'
method='post'>
<input type='submit' value='Далее в список
тем'></form>/action.php
<link rel="stylesheet"
href="emx_nav_left.css" type="text/css" />
</div>
<h2>Создание
каталога
</h2>
<BR>
<?php
$variants=fopen($_FILES['upload']['tmp_name'],"r");_once("connect.php");
//ввод значения из файла csv в таблицу базы данных(($variant
= fgetcsv($variants , 1024, ";")) != FALSE)
{ mysql_query ("set
character_set_client='cp1251'");_query ("set
character_set_results='cp1251'");_query ("set
collation_connection='cp1251_general_ci'");
$sSQL="INSERT INTO tovar (id,vid,nazv,opisanie,firma,foto,zena)('','".$_GET['id']."','".$variant[0]."','".$variant[1]."','".$variant[2]."','".$variant[3]."','".$variant[4]."');";_query($sSQL)
or die(mysql_error());
}fclose($variants);"<form
action='http://localhost/Tools/apogey/www/admin/?vid=".$_GET['vid']."&id=".$_GET['id']."'
method='post'>
<input type='submit' value='OK'>
</form>";?>