Интерактивное Web-приложение системы внутриплатформенной оплаты товара

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.11.2017
Размер файла 893,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

ФГБО УВПО "Национальный исследовательский университет "Московский энергетический институт""

Инженерно-экономический институт

Курсовая работа

по дисциплине "Бизнес и информационные технологии для систем управления предприятием"

Тема: "Интерактивное Web-приложение системы внутриплатформенной оплаты товара"

Студент(ка) Пономарев Сергей Андреевич

Руководитель Буданова Н.А.

Оглавление

Введение

Глава 1. Выбор технологий

Глава 2. СУБД

Глава 3. Создание серверной части приложения

Глава 4. Java-script

Заключение

Список литературы

Приложения

Введение

Интерактивное Web-приложение.

В нашем мире iPad-ов, iPhone-ов, Android-ов и устройств, сфокусированных на приложениях, уже несовременно использовать статический веб-сайт. Если нет механизма для сложного поиска, хотя бы трех способов оплаты покупок и пары страниц с хитрыми Ajax-взаимодействиями, то такой сайт могут назвать "застрявшим в 1990-ых".

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

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

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

Цели и Задачи

1. Создать интерактивное приложение интернет магазина по продаже компьютерных игр (ключей).

2. Контент приложения должен выводится из БД.

3. Создать внутрисистемную систему оплаты интернет-магазина, по аналогу с сервисом Steam.

4. Приложение должно отвечать требованиям современного дизайна, верстки, юзабилити.

Глава 1. Выбор технологий

В этой главе обосновывается выбор, какие технологии для создания интерактивного веб-приложения.

1. Серверная ОС

В качестве сервера был выбран ОС Debian на базе Unix, т.к. 67,6% всех серверов в мире используют системы на базе Unix; OC Debian используется на 35% мировых серверов, в то время, как Windows сервер используется только на 33,6% машин.

Кроме того, основными преимуществами Debian по сравнению с Windows являются:

· cтабильность;

· большое количество пакетов;

· свободное программное обеспечение;

· множество поддерживаемых архитектур;

· легкость в настройке;

· бесплатен.

2. HTTP(Web) - сервер

Apache, так же по статистике является самым популярным HTTP сервером и занимает долю в размере 65,4%, в то время, как Microsoft-IIS всего 15%.

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

3. СУБД - MySQL

MySQL - свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. интерактивный пользователь компьютерный

Исторически MySQL развивался именно как база для web, где режим работы довольно специфичен - подавляющее число запросов это простые SELECT из больших баз, от множества пользователей, обновлений и вставок - мало, хранимые процедуры, триггеры и т.п. - тоже редко используются. Поэтому не смотря на то, что MySQL не является самым оптимальным вариантом СУБД, как, например MS SQL, он однозначно более всего подходит именно для создания веб-приложений простого и среднего уровня, где нет необходимости работать с очень большими объемами данных или пользоваться расширенным функционалом.

В итоге кросс-платформенность, открытая лицензия и простота использования делает MySQL самой популярной СУБД для создания средних интерактивных web-приложений.

4. Язык разработки web-приложения. - PHP.

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

В области веб-программирования, в частности серверная часть, PHP - один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET).

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

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

· автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

· взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

· автоматизированная отправка HTTP-заголовков;

· работа с HTTP-авторизацией;

· работа с cookies и сессиями;

· работа с локальными и удалёнными файлами, сокетами;

· обработка файлов, загружаемых на сервер;

· работа с XForms.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в июне 2013 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.

Входит в LAMP - распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).

6. Дополнительный софт для разработки интерактивного веб-приложения:

7. 5.1 Artisteer

Artisteer - это программа для создания шаблонов сайтов популярных систем управления содержимым (CMS), таких как Joomla, Wordpress, Blogger, Drupal, DotNetNuke, кроме того с его помощью можно быстро создавать простые статические сайты с уникальным дизайном. Основные плюсы данного визуального редактора - простота и скорость создания шаблона, автоматическое создание карты сайта, пропись мета-тегов, генерация файлов.css, создание "резиновых" шаблонов, генерация ВАЛИДНОГО кода; т.е. шаблон созданый в Artisteer можно экспортировать в другие визуальные редакторы, такие как Dreamweaver. Очень мало подобных программ способно генерировать действительно валидный код.

7.2 Dreamweaver CC

это визуальный HTML-редактор компании Adobe., является эталоном визуальных редакторов, имеет встроенную подсветку синтаксиса языков программирования (в том числе html,java-script,php и т.д.), быстрое меню вставки элементов, возможности организации иерархической структуры.

Глава 2. СУБД

MySQL с графическим интерфейсом phpmyadmin

Рисунок 1. "Панель входа СУБД MySQL "phpmyadmin""

Рисунок 2. "Стартовая панель управления СУБД MySQL "phpmyadmin""

Рассмотрим БД "mybase".

Рисунок 3. "Содержание базы данных "mybase""

Структура БД mybase состоит из трех таблиц:

В таблице users хранятся данные о пользователях системы, в неё включены поля id(int), login(логин, varchar), password(пароль, varchar), fio(ФИО, varchar), email(электронная_почта, varchar), balance(баланс пользователя, int), где id является уникальным первичным ключом.

Рисунок 4 "Структура таблицы users"

В таблице stuff хранятся данные о товарах, в неё включены поля ids(id товара int), name(имя, varchar), description(описание, varchar), price(цена, varchar), где ids является уникальным, первичным ключом. (тип данных цены обусловлен возможным выводом в как в формате числа, так и в формате "xxx руб." или "ххх уе.")

Рисунок 5 "Структура таблицы "stuff""

В таблице payments хранятся данные о платежах, в неё включены поля id_pay(id платежа), id_client(id пользователя совершившего платеж), id_stuff(id купленного товара).

Рисунок 6 "Структура таблицы "payments""

Целостность таблиц

Рисунок 7 "Связи таблицы "payments""

Поля id_client и id_stuff являются вторичными ключами и соотносятся с первичными ключами соответствующих полей в таблицах users и stuff, правила внешних ключей - ON DELETE RESTRICT ON UPDATE RESTRICT, это запрещает удалять или обновлять записи таблицы, если в главной строчке есть соответствующий родитель. Это сделано для того, что бы запретить изменять таблицу платежей, ведь может возникнуть такой случай, когда товар или пользователь может удалится из системы и из-за этого возникнет путаница в истории платежей, которая поэтому должна быть независима от подобных действий.

Таким образом, таблица payments имеет отношение к таблицам users и stuff как "один ко многим", и с наличием правил соотношения ключей образует оптимальную целостность таблиц web-приложения.

Глава 3. Создание серверной части приложения

Соединение с БД реализуется следующим скриптом:

Скрипт соединения с БД:

<?php

$db = mysql_connect ("localhost","Admin","Admin1");

mysql_select_db ("mybase",$db);

?>

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

Связь с базой данных реализуется в нескольких страницах в различных скриптах:

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

SELECT id FROM users WHERE login='$login'

Запрос на сохранение пользовательских данных при регистрации:

INSERT INTO users (login,password,email,fio,balance)

VALUES('$login','$password','$email','$fio','$balance')

Запрос на изменение баланса при покупке товара:

"UPDATE users SET balance=".$bb." WHERE id=".$bid

Запрос на запись платежа в историю платежей:

"INSERT INTO payments VALUES(NULL, '$bs', '$bid')"

Запрос на получение информации о товарах:

SELECT * FROM stuff

Глава 4. Java-script

Джава-скрипты являются основными функциями обеспечивающими активность на стороне клиента, в то время как php скрипты обеспечивают активность на стороне сервера.

Пример Java-скрипта, реализующего выход:

код кнопки:

<button onclick='myWindow()'>Выйти</button>

код скрипта:

<script>

function myWindow() {

var w = window.open('exit.php', 'Выход')}

</script>

Функция скрипта открывает новую страницу (обработчик выхода) с заголовком "Выход".

Скрипт последнего изменения страницы shop.php

<script language=\"Javascript\">

<!--

document.write('данная страница изменялась:'+ document.lastModified + '<br>')

//-->

</script>

Заключение

Выполненные задачи:

· Создано интерактивное приложение интернет-магазина по продаже компьютерных игр(ключей)

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

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

Выводы:

Приложение было создано на базе комплекса LAMP (Linux-Apache-MySQL-PHP), и соответствует всем основным техническим и стилистическим требованиям, в дальнейшем, при соответствующей модернизации может быть внедрено как независимая система простого интернет-магазина или в качестве плагинов\базы для существующих систем. Система внутрисайтовой оплаты позволяет вести международную деятельность, т.к. API оплаты для разных регионов планеты подключается отдельно, в независимости от основной валюты, используемой для оплаты на сайте.

Список литературы

1. "PHP для начинающих", Джанет Валейд, 2005, изд. "Диалектика".

2. http://wikipedia.org - электронный ресурс.

3. Дуванов А.А. Кухня Web-мастера Сидорова: основы практич. Web-дизайна. - М.: Чистые пруды, 2005. - 31 с.: ил. - (Б-ка "Первого сентября". Информатика; Вып. 4.).

4. Adobe Dreamweaver, CSS, Ajax и PHP - Дэвид Пауэрс,2009, БХВ-Петербург

5. Настольная книга администратора Debian: Debian Wheezy: от первого знакомства к мастерству, Рафаэль Херцог, 2013, Freexian SARL.

Приложение 1

Листинги страниц и скриптов

Структура проекта:

Рисунок 12 "Структура проекта"

Листинги страниц:

Index.php (главная):

<!DOCTYPE html>

<html dir="ltr" lang="en-US"><head><!-- Created by Sergey Ponomarev -->

<meta charset="utf-8">

<title>Home</title>

<meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">

<!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

<link rel="stylesheet" href="style.css" media="screen">

<!--[if lte IE 7]><link rel="stylesheet" href="style.ie7.css" media="screen" /><![endif]--><link rel="stylesheet" href="style.responsive.css" media="all">

<script src="jquery.js"></script>

<script src="script.js"></script>

<script src="script.responsive.js"></script>

<style>.art-content .art-postcontent-0 .layout-item-0 { padding-right: 10px;padding-left: 10px; }

.ie7 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

.ie6 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

</style>

</head>

<body>

<div id="art-main">

<nav class="art-nav">

<ul class="art-hmenu"><li><a href="index.html" >Главная</a><ul class="active"><li></li></ul></li>

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

<li><a href="shop.php">Магазин</a></li>

</ul>

</nav>

<div class="art-sheet clearfix">

<header class="art-header">

<div class="art-shapes">

</div>

<h1 class="art-headline" data-left="1.02%">

<a href="#">Курсовая Работа</a>

</h1>

</header>

<br>

<section id="table1">

<article id="mainauthor">Автор проекта - Сергей Пономарев </br></article>

</section>

<br>

<footer class="art-footer">

<p><a href="#">Link1</a> | <a href="#">Link2</a> | <a href="#">Link3</a></p>

<p>Copyright © 2015. All Rights Reserved.</p>

</footer>

</div>

<p class="art-page-footer">

<span id="art-footnote-links">Web Template</a>created by Sergey Ponomarev</span>

</p>

</div>

</body></html>

Registration.php:

<!doctype html>

<html dir="ltr" lang="en-US"><head><!-- Created by Artisteer v4.1.0.60046 -->

<meta charset="utf-8">

<title>Home</title>

<meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">

<!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

<link rel="stylesheet" href="style.css" media="screen">

<!--[if lte IE 7]><link rel="stylesheet" href="style.ie7.css" media="screen" /><![endif]--><link rel="stylesheet" href="style.responsive.css" media="all">

<script src="jquery.js"></script>

<script src="script.js"></script>

<script src="script.responsive.js"></script>

<style>.art-content .art-postcontent-0 .layout-item-0 { padding-right: 10px;padding-left: 10px; }

.ie7 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

.ie6 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

</style>

</head>

<body>

<div id="art-main">

<nav class="art-nav">

<ul class="art-hmenu"><li><a href="index.html" >Главная</a><ul class="active"><li></li></ul></li>

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

<li><a href="shop.php" >Магазин</a></li>

</ul>

</nav>

<div class="art-sheet clearfix">

<header class="art-header">

<div class="art-shapes">

</div>

<h1 class="art-headline" data-left="1.02%">

<a href="#">Регистрация</a>

</h1>

</header>

<br>

<section id="table1">

<article id="mainauthor">Автор проекта - Сергей Пономарев <?php phpinfo() ?><br><? echo "test" ?>

</article>

</section>

<br>

</br>

<h3>Пройдите пожалуйста регистрацию</h3>

<br>

<section id="formsection">

<div id="formblock"><form action="save_user.php" method="post"><label>Введите желаемый логин:</label><input name="login" type="text" autofocus required id="login"></br>

<label>ФИО:</label><input name="fio" type="text" >

<br><label>Введите пароль</label>

<input name="password" type="password" required id="password"><br>

<label>Введите свой e-mail:</label><input name="email" type="text" >

<br>

<input type="submit">

<input type="reset">

</form></div>

</section>

<footer class="art-footer">

<p><a href="#">Link1</a> | <a href="#">Link2</a> | <a href="#">Link3</a></p>

<p>Copyright © 2015. All Rights Reserved.</p>

</footer></div>

<p class="art-page-footer">

<span id="art-footnote-links">Web Template</a>created by Sergey Ponomarev</span>

</p>

</div>

</body></html>

Обработчик save_user.php

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>Документ без названия</title>

</head>

<body>

<?php

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную

if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную

if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт

{exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");}

//вводим email и fio

$email=$_POST['email'];

$fio=$_POST['fio'];

//добавляем баланс

$balance=1000;

//если логин и пароль введены, то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести

$login = stripslashes($login);

$login = htmlspecialchars($login);

$email=stripslashes($email);

$email=htmlspecialchars($email);

$fio=stripslashes($fio);

$email=htmlspecialchars($fio);

$password = stripslashes($password);

$password = htmlspecialchars($password);

//удаляем лишние пробелы

$login = trim($login);

$password = trim($password);

// подключаемся к базе

include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные

// проверка на существование пользователя с таким же логином

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);

$myrow = mysql_fetch_array($result);

if (!empty($myrow['id'])) {

exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); }

// если такого нет, то сохраняем данные

$result2 = mysql_query ("INSERT INTO users (login,password,email,fio,balance) VALUES('$login','$password','$email','$fio','$balance')");

// Проверяем, есть ли ошибки

if ($result2=='TRUE')

{echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.html'>Главная страница</a>";}

else {echo "Ошибка! Вы не зарегистрированы.";

echo $result2;} ?>

</body>

</html>

Страница магазина shop.php

<?php

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

session_start();

?>

<!DOCTYPE html>

<html dir="ltr" lang="en-US"><head><!-- Created by Artisteer v4.1.0.60046 -->

<meta charset="utf-8">

<title>Home</title>

<meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">

<!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

<link rel="stylesheet" href="style.css" media="screen">

<!--[if lte IE 7]><link rel="stylesheet" href="style.ie7.css" media="screen" /><![endif]--><link rel="stylesheet" href="style.responsive.css" media="all">

<script src="jquery.js"></script>

<script src="script.js"></script>

<script src="script.responsive.js"></script>

<style>.art-content .art-postcontent-0 .layout-item-0 { padding-right: 10px;padding-left: 10px; }

.ie7 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

.ie6 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

</style>

</head>

<body>

<div id="art-main">

<nav class="art-nav">

<ul class="art-hmenu"><li><a href="index.html" >Главная</a><ul class="active"><li></li></ul></li>

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

<li><a href="shop.php" class="active">Магазин</a></li>

</ul>

</nav>

<div class="art-sheet clearfix">

<header class="art-header">

<div class="art-shapes">

</div>

<h1 class="art-headline" data-left="1.02%">

<a href="#">Интернет-Магазин</a>

</h1>

</header>

<br>

<section id="table1">

<article id="mainauthor">Автор проекта - Сергей Пономарев </br></article>

<?php phpinfo ?>

</section>

<br>

<?php

echo "<script language=\"Javascript\">

<!--

document.write('данная страница изменялась:'+ document.lastModified + '<br>')

//-->

</script>";

?>

<form method='post'>

<select name='s1'>

<?php

include('bd.php');

$query='SELECT * FROM stuff';

$result=mysql_query($query,$db);

while($myrow = mysql_fetch_array($result))

{echo "<option value=' ".$myrow['ids']." '>".$myrow['name']."</option>";}

echo "</select>";

?>

<input type='submit' >

</form>

<?php

include("bd.php");

mysql_query('SET NAMES UTF8');

$query="SELECT * FROM stuff WHERE ids=" . $_POST["s1"];

$bids=$_POST["s1"];

$result=mysql_query($query,$db);

while($myrow = mysql_fetch_array($result))

{echo "<br>". $myrow['description'] . "</br>";}

?>

<br>

<?php

include("bd.php");

mysql_query('SET NAMES UTF8');

$query="SELECT * FROM stuff WHERE ids=" . $_POST["s1"];

$result=mysql_query($query,$db);

while($myrow = mysql_fetch_array($result))

{echo "Цена:";

echo $myrow['price'] ;}

?>

<br>

<?php

// Проверяем, пусты ли переменные логина и id пользователя

if (empty($_SESSION['login']) or empty($_SESSION['id']))

{

// Если пусты, то мы не выводим ссылку

echo "Вы НЕ вошли<br>

<form action='testreg.php' method='post'>

<label>Введите Логин</label>

<input type='text' name='login'>

</br>

<label>Введите пароль</label>

<input type='password' name='password'>

<br>

<input type='submit'>

<br>

<input type='reset'>

</form>";}

else{

// Если не пусты, то мы выводим ссылку

echo "Вы вошли на сайт, как ".$_SESSION['login']."<br>

Страница магазина:<a href='shop.php'>Перейти</a><br>

<button onclick='myWindow()'>Выйти</button>

<script>

function myWindow() {

var w = window.open('exit.php', 'Выход')}

</script>";

echo"<h4>Ваш Баланс:</h4>";

mysql_query('SET NAMES UTF8');

$query="SELECT * FROM users WHERE id=" . $_SESSION['id'];

$result=mysql_query($query,$db);

while($myrow = mysql_fetch_array($result))

{$bb=$myrow['balance'];

echo $bb;

$_SESSION['balance']=$myrow['balance'];}

$_SESSION['ids']=$_POST['s1'];

if (!empty($_SESSION['ids']))

{echo "<br><br><h4><a href=buycart.php>Купить</a></h4>";}}

?>

<br>

<footer class="art-footer">

<p><a href="#">Link1</a> | <a href="#">Link2</a> | <a href="#">Link3</a></p>

<p>Copyright &copy; 2015. All Rights Reserved.</p>

</footer>

</div>

<p class="art-page-footer"></p>

</div>

</body></html>

Обработчик проверки наличия пользователя в системе testreg.php

<?php

session_start();// вся процедура работает на сессиях. !

?>

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>Документ без названия</title>

<?php

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную

if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную

if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт

{exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");}

//если логин и пароль введены, то обрабатываем их

$login = stripslashes($login);

$login = htmlspecialchars($login);

$password = stripslashes($password);

$password = htmlspecialchars($password);

//удаляем лишние пробелы

$login = trim($login);

$password = trim($password);

// подключаемся к базе

include ("bd.php");

$result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином

$myrow = mysql_fetch_array($result);

if (empty($myrow['password']))

{//если пользователя с введенным логином не существует

exit ("Извините, введённый вами login или пароль неверный.");}

else { //если существует, то сверяем пароли

if ($myrow['password']==$password) {

//если пароли совпадают, то запускаем пользователю сессию

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

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

$_SESSION['email']=$myrow['email'];

$_SESSION['fio']=$myrow['fio'];

//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь

echo "Вы успешно вошли на сайт! <a href='shop.php'>Магазин</a>"; }

else {//если пароли не сошлись

exit ("Извините, введённый вами login или пароль неверный.");} }

?>

</head>

<body>

</body>

</html>

Обработчик выхода exit.php

<?php

session_start();// вся процедура работает на сессиях. !

?>

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>Документ без названия</title>

</head>

<body>

<?php

unset($login,$fio,$email);

session_destroy();

echo "Вы вышли";

echo"<a href='index.html'>Перейти на главную</a>";

?>

</body></html>

Страница корзины buycat.php

<?php

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

session_start();

?>

<!DOCTYPE html>

<html dir="ltr" lang="en-US"><head><!-- Created by Artisteer v4.1.0.60046 -->

<meta charset="utf-8">

<title>Home</title>

<meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">

<!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

<link rel="stylesheet" href="style.css" media="screen">

<!--[if lte IE 7]><link rel="stylesheet" href="style.ie7.css" media="screen" /><![endif]--><link rel="stylesheet" href="style.responsive.css" media="all">

<script src="jquery.js"></script>

<script src="script.js"></script>

<script src="script.responsive.js"></script>

<style>.art-content .art-postcontent-0 .layout-item-0 { padding-right: 10px;padding-left: 10px; }

.ie7 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

.ie6 .art-post .art-layout-cell {border:none !important; padding:0 !important; }

</style>

</head>

<body>

<div id="art-main">

<nav class="art-nav">

<ul class="art-hmenu"><li><a href="index.html" >Главная</a><ul ><li></li></ul></li>

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

<li class="active"><a href="shop.php">Магазин</a></li>

</ul>

</nav>

<div class="art-sheet clearfix">

<header class="art-header">

<div class="art-shapes">

</div>

<h1 class="art-headline" data-left="1.02%">

<a href="#">Курсовая Работа</a>

</h1>

</header>

<br>

<section id="table1">Здесь располагается содержимое id "table1"

<article id="mainauthor">Автор проекта - Сергей Пономарев </br></article>

</section>

<?php

// Проверяем, пусты ли переменные логина и id пользователя

if (empty($_SESSION['login']) or empty($_SESSION['id'])){

// Если пусты, то мы не выводим ссылку

echo "Вы НЕ вошли<br>"; }

else

{ // Если не пусты, то:

echo "Вы вошли на сайт, как ".$_SESSION['login']."<br>

<br>Ваше ФИО:".$_SESSION['fio']."<br>

Ваш e-mail:".$_SESSION['email']."<br>

Ваш заказ:";

include("bd.php");

mysql_query('SET NAMES UTF8');

$query="SELECT * FROM stuff WHERE ids=" . $_SESSION['ids'];

$result=mysql_query($query,$db);

while($myrow = mysql_fetch_array($result))

{ echo $myrow['name'];

echo "<br><br>Цена:";

echo $myrow['price'] ;

$_SESSION['price']=$myrow['price'];}

echo "<br><br>";

echo"<h4>Ваш Баланс:</h4>";

echo $_SESSION['balance'];}

?><br>

<a href="buyscript.php">Купить!</a>

<br>

<table width="100%" border="0" cellspacing="5" cellpadding="5">

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr> <tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

</table>

<br>

<footer class="art-footer">

<p><a href="#">Link1</a> | <a href="#">Link2</a> | <a href="#">Link3</a></p>

<p>Copyright © 2015. All Rights Reserved.</p>

</footer>

</div>

<p class="art-page-footer">

<span id="art-footnote-links">Web Template</a>created by Sergey Ponomarev</span>

</p></div></body></html>

Обработчик покупки buyscript.php

<!doctype html>

<?php

session_start();// вся процедура работает на сессиях. !

?><html>

<head>

<meta charset="utf-8">

<title>Документ без названия</title>

</head><body>

<?php

include("bd.php");

$bid=$_SESSION['id'];

$bs=$_SESSION['ids'];

$bp=$_SESSION['price'];

mysql_query('SET NAMES UTF8');

$query="SELECT * FROM users WHERE id=" . $_SESSION['id'];

$result=mysql_query($query);

while($myrow = mysql_fetch_array($result))

{$bb=$myrow['balance'];}

$bb=$bb-$_SESSION['price'];

echo "остаточный баланс на счету<br>";

echo $bb;

echo "<br>";

$sql="UPDATE users SET balance=".$bb." WHERE id=".$bid;

$result2 = mysql_query ($sql,$db);

// Проверяем, есть ли ошибки

if ($result2=='TRUE')

{ echo "Сделка прошла успешно!<br> <a href='index.html'>Главная страница</a>";}

else {echo "Ошибка! Что-то пошло не так";

echo $result2; }

unset($_SESSION['balance'],$_SESSION['price']);

echo $_SESSION['balance'];

include("bd.php");

$sql="INSERT INTO payments VALUES(NULL,'$bs','$bid')";

$result=mysql_query($sql,$db);

// Проверяем, есть ли ошибки

if ($result=='TRUE')

{echo "История сохранилась"; }

else {echo "Ошибка! История не сохранилась";

echo $result;} ?>

</body>

</html>

Обработчик соединения с БД

<?php

$db = mysql_connect ("localhost","Admin","Admin1");

mysql_select_db ("mybase",$db);?>

Приложение 2

БД

Рисунок 13 "Содержание таблицы users"

Рисунок 14 "Содержание таблицы stuff"

Рисунок 15 "Содержание таблицы payments"

Приложение 3

Java-скрипт

Скрипт обработки перехода на страницу выхода

<script>

function myWindow() {

var w = window.open('exit.php', 'Выход')}

</script>

Скрипт обработки последнего изменения страницы магазина

<script>

<!-- document.write('данная страница изменялась:'+ document.lastModified + '<br>')//-->

</script>

Размещено на Allbest.ru


Подобные документы

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

    дипломная работа [2,6 M], добавлен 10.06.2014

  • Обработка страниц на web-сервере и модель событий ASP.NET. Разработка компонентов приложения: компоновка и оформление web-страниц, аутентификация и авторизация пользователей, основные элементы интерфейса. Развёртывание web-приложения и модели компиляции.

    дипломная работа [1,7 M], добавлен 29.09.2009

  • Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.

    курсовая работа [949,7 K], добавлен 22.02.2015

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

    курсовая работа [395,4 K], добавлен 28.04.2015

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

    курсовая работа [3,3 M], добавлен 05.06.2011

  • Анализ сравнения интернет-магазина и электронного магазина. Проектирование структуры web-сайта. Обработка заказа. Основное понятие языка php. Средства безопасности системного уровня приложения. Разработка структуры базы данных и структуры web-сайта.

    курсовая работа [1,4 M], добавлен 31.03.2014

  • Анализ российского рынка мобильных приложений. Мобильное приложение как новый канал коммуникации с целевой аудиторией. Этапы создания мобильного приложения. План продвижения мобильного приложения в сети Интернет. Бесплатные инструменты продвижения.

    дипломная работа [1,6 M], добавлен 23.06.2016

  • Разработка средствами языка PHP и Фреймворка Yii системы регистрации и аутентификации пользователей на сайте. Проектирование приложения с помощью языка UML, построение диаграммы прецедентов. База данных приложения. Страница регистрации пользователей.

    отчет по практике [1,1 M], добавлен 15.09.2014

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

    курсовая работа [68,9 K], добавлен 09.04.2012

  • Сокращение времени поиска транспортных средств для туристов, путешествующих автостопом, разработка интернет-приложения: выбор системы управления базы данных и языков программирования; информационная и логическая архитектура приложения; расчет затрат.

    дипломная работа [834,2 K], добавлен 15.02.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.