Файл: Разработка сайта интернет-магазина «Барахолка».pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 32

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

Каждый из нас сейчас может сделать свой вклад в развитие Internet. Для этого достаточно создать свой веб-сайт и разместить его в сети.

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

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

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

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

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

Наиболее распространенным языком, предназначенным для написания web-приложений является PHP. Он весьма популярен во многом благодаря своей бесплатности. Язык скриптов напоминает своим синтаксисом язык C. Имеется множество дополнительных библиотек для работы с различными базами данных, с документами PDF, с GIF-файлами. Часто PHP увязывается в одно с такой же бесплатной базой данных как MySQL. Существует множество провайдеров, предоставляющих хостинг со связкой Apache/PHP/MySQL. В настоящее время разработчики PHP утверждают, что этот язык используется на 1.000.000 узлах.


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

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

Имиджевая.

Формирование стиля и образа компании. Стилевое оформление сайта должно соответствовать корпоративному стилю компании.

Информационная.

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

Рекламная.

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

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

– ознакомиться с современными Интернет-технологиями и, по возможности, использовать их в своей разработке;

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

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

– ознакомиться с основными правилами и рекомендациями по разработке и созданию Web-сайтов и неукоснительно следовать им в своей практике;

– определиться со структурой Web-страниц;

– выбрать стратегию разработки и создания Web-сайта.

Техническое задание и выбор средств реализации.

Наименование общества: Общество с ограниченной "Барахолка". Целью деятельности общества является извлечение прибыли. Основными видами деятельности ООО "Барахолка" являются:

• Продажа товаров от производителя или официального представителя;

• Продажа собственных товаров и услуг;

• Продажа информации (контента);

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

При анализе деятельности были выявлены следующие недостатки:

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

2) Долгая работа с документами.

Характеристика целей создания

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

Функции и задачи создаваемой системы


Web-сайт включает в себя следующие автоматизированные функции:

1) Приток новых клиентов;

2) Информирование потенциальных клиентов;

3) Увеличение прибыли предприятия;

4) Рост имиджа предприятия.

5) Выводы и предложения

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

Описание модулей серверной части программы и их взаимодействие.

В качестве программных средств для реализации поставленной задачи была использована сборка LAMP:

LAMP (от сокр. Linux Apache MySQL PHP) – готовая сборка WEB сервера с предустановленными модулями, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц)

Базовый пакет

• Веб-сервер Apache с поддержкой SSI, SSL, mod_rewrite, mod_php.

• Интерпретатор PHP с поддержкой GD, MySQL, SQLite.

• СУБД MySQL с поддержкой транзакций (mysqld-max).

• Система управления виртуальными хостами, основанная на шаблонах.

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

• Панель phpMyAdmin для администрирования СУБД.

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

• Эмулятор sendmail и сервера SMTP с поддержкой работы совместно с PHP, Perl, Parser и др.

• Установщик.

Пакеты расширений

• Полная версия ActivePerl 5.8.

• Интерпретатор PHP версии 5 с полным набором модулей.

• Интерпретатор Python.

• СУБД MS SQL PostgreSQL или InterBase/FireBird версий 1 и 2.

• Интерпретатор PHP версии 3 или 4.

• Интерпретатор Parser.

• Иcправления в CONFIGURATION.

Возможности

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

Описание структуры базы данных и ее функций.

MySQL - это популярная система управления базами данных (СУБД), которая будет применяться в сочетании с PHP.

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


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

Технические возможности СУБД MySQL. MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).

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

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

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

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

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

В таблице «товары» содержится информация о названии товара,его индекс, дата выпуска, цена, полное его описание.

В таблице «новости» содержится краткое описание событий, индекс и полное описание.

Описание структуры клиентской части

Каждая страница сайта сформирована из 4 блоков:

  • Первый блок – «header»(«Шапка»);
  • Второй блок – «menu»(«меню»);
  • Третий – «main»(«основа»)
  • Четвертый – «footer»(«Подвал»)

Все блоки подключены внутри страниц

Сайт разбит на несколько разделов:

  • Домой
  • Товары
  • О компании
  • Контакты
  • Корзина
  • Вход или регистрация

Каждая страница проекта состоит из нескольких блоков.

Шапка сайта является «header» в свою очередь состоит из меню и логотипа.

Рисунок 1

Код меню:

<header class="header">

<div class="header_container">

<div class="container">

<div class="row">

<div class="col">

<div class="header_content d-flex flex-row align-items-center justify-content-start">

<div class="logo"><a href="#">Барахолка</a></div>

<nav class="main_nav">

<ul>

<li><a href="index.php">Домой</a></li>

<li><a href="categories.php">Товар</a></li>

<li><a href="company.php">О компании</a></li>

<li><a href="contact.php">Контакты</a></li>

<li class="hassubs active">

<?php

if(!isset($_SESSION["login"])): ?>

<a >Вход</a>

<ul>


<form method="POST">

<p>Введите login:<br>

<input type="text" name="login" /></p>

<p>Пасс: <br>

<input type="text" name="pass2" /></p>

<input type="submit" value="Войти">

</form>

<a href="create.php"><button>Регистрация</button></a>

</ul>

<?php else: ?>

<a><?php echo $_SESSION["login"] ?> </a>

<ul>

<li>Добро пожаловать, <span><?php echo $_SESSION["login"];?>! </span></li>

<li><p><a href="inc/logout.php">Выйти из системы</a></p></li>

</ul>

<?php endif ?>

</li>

</ul>

За то, чтобы меню красиво выпадало в основном несет ответственность CSS-файл. Так же иметься привязка к размеру экрана, меню сворачивается в отдельную иконку с выпадающим эффектом. Очень полезно если необходимо обращаться к ресурсу с мобильных устройств.

Рисунок 2

Рисунок 3

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

Код авторизации существующего пользователя

<?php

require_once 'connection.php'; // подключаем скрипт коннекта с базой

if(isset($_POST['login']) && isset($_POST['pass2'])){

// подключаемся к серверу

$link = mysqli_connect($host, $user, $password2, $database)

or die("Ошибка " . mysqli_error($link));

// экранирования символов для mysql

$login = htmlentities(mysqli_real_escape_string($link, $_POST['login']));

$pass2 = htmlentities(mysqli_real_escape_string($link, $_POST['pass2']));

// создание строки запроса

$query = "SELECT * FROM users WHERE login ='$login' AND pass ='$pass2'";

// выполняем запрос

$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));

$user = mysqli_fetch_assoc($result);

if (!empty($user)) {

//Стартуем сессию:

session_start();

//Пишем в сессию информацию о том, что мы авторизовались:

$_SESSION['auth'] = true;

//Пишем в сессию логин и id пользователя (их мы берем из переменной $user!):

$_SESSION['id'] = $user['id'];

$_SESSION['login'] = $user['login'];

$_SESSION["role"] = $user['role'];

header("Location:index.php");

}

// закрываем подключение

mysqli_close($link);

}

?>

И код регистрации нового пользователя:

<?php

require_once 'connection.php'; // подключаем скрипт

if(isset($_POST['login']) && isset($_POST['email']) && isset($_POST['pass'])){

// подключаемся к серверу

$link = mysqli_connect($host, $user, $password2, $database)

or die("Ошибка " . mysqli_error($link));

// экранирования символов для mysql

$login = htmlentities(mysqli_real_escape_string($link, $_POST['login']));

$email = htmlentities(mysqli_real_escape_string($link, $_POST['email']));

$pass = htmlentities(mysqli_real_escape_string($link, $_POST['pass']));

// создание строки запроса