Пояснительная записка (1195819), страница 5
Текст из файла (страница 5)
Рисунок 3.4 – Шапка интернет-магазина
Шапка с открытыми виджетами представлена на рисунке 3.5.
Рисунок 3.5 – Шапка интернет-магазина с раскрытыми виджетами
Для создания меню категорий товаров стоит использовать тег HTML5 – <section>, который заменяет создания нескольких тегов <div>, и использовать в качестве раздела страницы на логические области: левое меню и основная область контента, а для определения меню как области навигации необходимо использовать тег <nav>. Также в HTML5 есть тег <footer>, который определяет завершающую область страницы – подвал. Внешний вид всех областей описывается средствами CSS.
3.2 Программирование логики
На основе одного примера можно рассмотреть написание логики web-приложения с использованием концепции Model View Controller.
В верхнем левом углу, если посетитель не входил в свою учетную запись, будет отображаться ссылка на форму входа и регистрации «Вход | Регистрация». Если посетитель вошел, то будет отображаться его имя и ссылка на выход – «Имя | Выход», как показано на рисунке 3.6.
Рисунок 3.6 – Отображение ссылок в шапке, когда пользователь
вошел в учетную запись
Код отображения ссылок в шапке представлен в листинге 3.4.
| 1 | <?php |
| 2 | if ($_SESSION['flag']==0) |
| 3 | { |
| 4 | echo "<a href='inter.php'>Вход | Регистрация</a>"; |
| 5 | } |
| 6 | else |
| 7 | { |
| 8 | echo $_SESSION['username']." | <a href='out.php'>Выход</a>"; |
| 9 | } |
| 10 | ?> |
Листинг 3.4 – Отображение содержимого в зависимости от состояния
Для получения имени пользователя, зашедшего в учетную запись или зарегистрировавшегося необходим запуск сессий. Существует страница с формой, в которую пользователь вводит данные для входа, либо для регистрации. Написана страница полностью на языке html, но имеет расширение .php, так как в начале документа происходит запуск сессии: <?php session_start(); ?> [12].
Формы входа и регистрации, при нажатии кнопки подтверждения, ведут к файлам testreg.php или save_user.php соответственно, в которых происходит проверка наполненности форм, аутентификация, создание новой записи в базе данных либо выборка из нее [14]. Также в этих файлах устанавливается флаг, если пользователь успешно создал учетную запись или вошел в нее.
Далее происходит автоматический переход на главную страницу, и пока флаг находится в состоянии истины, пользователь будет видеть свое имя в шапке и ссылку на выход из учетной записи. При нажатии на ссылку выхода, происходит выполнение кода в документе out.php, в котором флаг сбрасывается в единицу и из текущей сессии стирается логин вышедшего пользователя. Содержание файлов аутентификации testreg.php и регистрации save_user.php приведены [12] в листингах 3.5 и 3.6 соответственно.
| 1 | <?php |
| 2 | session_start(); |
| 3 | $_SESSION['flag']=0; |
| 4 | if (isset($_POST['login'])) { $login = $_POST['login']; |
| 5 | if ($login == '') { unset($login);} } |
| 6 | if (isset($_POST['password'])) { $password=$_POST['password']; |
| 7 | if ($password =='') { unset($password);} } |
| 8 | if (empty($login) or empty($password)) |
| 9 | { |
| 10 | exit ("Пользователя с таким именем не существует"); |
| 11 | } |
| 12 | |
| 13 | $login = trim($login); |
| 14 | $password = trim($password); |
| 15 | |
| 16 | include ("db.php"); |
| 17 | |
| 18 | $result = mysql_query("SELECT * FROM user WHERE login='$login'",$db); |
| 19 | $myrow = mysql_fetch_array($result); |
| 20 | if ($myrow['password']==$password) { |
| 21 | $_SESSION['login']=$myrow['login']; |
| 22 | $_SESSION['idUser']=$myrow['idUser']; |
| 23 | $_SESSION['username']=$myrow['username']; |
| 24 | $_SESSION['flag']=1; |
| 25 | } |
| 26 | else { |
| 27 | exit ("Неверный пароль"); |
| 28 | } |
| 29 | header("Location: index.php"); |
| ?> |
Листинг 3.5 – Код проверки логина и пароля
| 1 | <?php |
| 2 | session_start(); |
| 3 | $_SESSION['flag']=0; |
| 4 | if (isset($_POST['loginreg'])) { $loginreg = $_POST['loginreg']; |
| 5 | if ($loginreg == '') { unset($loginreg);} } |
| 6 | if (isset($_POST['passwordreg'])) { $passwordreg=$_POST['passwordreg']; |
| 7 | if ($passwordreg =='') { unset($passwordreg);} } |
| 8 | if (isset($_POST['username'])) { $username=$_POST['username']; |
| 9 | if ($username =='') { unset($username);} } |
| 10 | |
| 11 | |
| 12 | if (empty($loginreg) or empty($passwordreg)or empty($username)) // |
| 13 | { |
| 14 | exit ("Заполните все поля!"); |
| 15 | } |
| 16 | |
| 17 | $loginreg = trim($loginreg); |
| 18 | $passwordreg = trim($passwordreg); |
| 19 | $username = trim($username); |
| 20 | |
| 21 | include ("db.php"); |
| 22 | |
| 23 | $result = mysql_query("SELECT idUser FROM user WHERE login='$loginreg'",$db); |
| 24 | $myrow = mysql_fetch_array($result); |
| 25 | if (!empty($myrow['idUser'])) { |
| 26 | exit ("Пользователь с таким логином уже существует <a href='inter.php'>Регистрация</a> "); |
| 27 | } |
| 28 | |
| 29 | $result2 = mysql_query ("INSERT INTO user (login,password,username) VALUES('$loginreg','$passwordreg','$username')"); |
| 30 | |
| 31 | if ($result2=='TRUE') |
| 32 | { $_SESSION['login']=$loginreg; |
| 33 | $_SESSION['username']=$username; |
| 34 | $_SESSION['flag']=1; |
| 35 | header("Location: index.php"); |
| 36 | } |
| 37 | else { |
| 38 | echo "О нет, что-то пошло не так <a href='index.php'>Вернуться на главную страницу</a>"; |
| 39 | } |
| 40 | ?> |
Листинг 3.6 – Код сохранения нового пользователя в базе данных и автоматический вход
В данном разделе рассмотрен процесс реализации web-приложения средствами языков PHP и SQL. Приведены основные составляющие этого процесса, которые были использованы в ходе работы
4 Технико-экономическое обоснование
Величину затрат на создание интернет-магазина «ИТЦ Компьютер» определяют на основе метода калькуляций [22]. В этом случае затраты определяются расчетом по отдельным статьям расходов и их последующим суммированием.
Затраты в свою очередь делятся на две категории:
– постоянные издержки;
– переменные издержки.
Проведен обзор затраты по отдельным статьям расходов в каждой категории. Все расчеты издержек производятся на дату 10.05.2017.
4.1 Постоянные издержки
В данную категорию издержек при создании программы входят:
– амортизационные отчисления на вычислительную технику;
– затраты на текущий ремонт вычислительной техники.
Сумма годовых амортизационных отчислений определяется по формуле (4.1):
(4.1)
где
– сумма годовых амортизационных отчислений, руб.;
– балансовая стоимость компьютера, руб./шт.;














