ТП лаба 3
.docxСанкт Петербургский государственный университет телекоммуникаций имени профессора М.А. Бонч-Бруевича.
Факультет Информационных Систем и Технологий.
Отчет по лабораторной работе №3.
Тема: разработка фрагмента сайта интернет – магазина.
Дисциплина: Технологии программирования
Выполнил: студент 2 курса, группы ИСТ-03
Першин А.И.
г. Санкт Петербург
2012 г.
Задание
-
Создать страницу Web-сайта с формами ввода данных:
-
Фамилия заказчика
-
Телефон заказчика
-
Список из 10-ти предлагаемых товаров с указанием цены каждого изделия.
-
-
Создать счетчик количества посещений страницы сайта.
-
Используя функции PHP низкоуровневого доступа к файлам (fopen, fwrite или fputs), записать в файл данные о произведенных заказах.
-
Создать Web-страницу для оформления запроса на получение информации о суммарной выручке по всем оформленным заказам, используя при этом функции fopen, fread или fgets.
Содержание файла index.php
<?php include_once('head.php'); ?>
<div id="ShopInfo">
<?php
$filename = 'LoadCounter.txt';
$handle = fopen($filename, 'r');
$current = fread($handle, filesize($filename));
fclose($handle);
$current++;
$handle = fopen($filename, 'w');
fwrite($handle, $current);
fclose($handle);
echo 'Просмотров: ' . $current;
?>
<!--- =Log in -->
<form id="AdminForm" action="admin.php" method="GET">
<h5>Форма учета магазина</h5>
<label for="Login">Логин: </label>
<input type="text" name="Login" id="Login">
<br>
<label for="Password">Пароль: </label>
<input type="password" name="Password" id="Password">
<br>
<button>Войти</button>
</form>
<!--- /Log in -->
</div>
<div id="container">
<font class="help">Для оформления заказа, просто заполните форму ниже.</font>
<!-- =Shop -->
<form id="MarketForm" action="Form.php" method="POST">
<h5>Форма заказа</h5>
<label for="FName">Фамилия: </label>
<input type="text" name="FName" id="FName">
<br>
<label for="Number">Телефон: </label>
<input type="text" name="Number" id="Number">
<br>
<span class='help'>Щелкните по товару, чтобы добавить его в корзину</span>
<br>
<?php
for($i=0; $i<10; $i++){
echo "\t\t<div class='Merch'>
<img src='img/{$i}.png'>
<textarea readonly='1' name='M{$i}' id='M{$i}'>0</textarea>
<span>Не возьму</span>
</div>\n";
}
echo "<br><button type='reset'>Передумал</button>";
?>
<button>Отправить</button>
</form>
<!-- /Shop -->
</div>
<?php include_once('footer.php'); ?>
Содержание файла head.php
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ANSI">
<meta name="copyright" content="Pershin A.I. IST-03">
<title>Лабораторная работа 3</title>
<link type="text/css" rel="StyleSheet" href="style.css">
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</head>
<body>
<h1>Разработка фрагмента сайта Интернет-магазина</h1>
Содержание файла script.js
$(document).ready(function(){
$('div.Merch textarea').text('0');
$('div.Merch span').click(function(){
$(this).siblings('textarea').text('0');
});
$('div.Merch img').click(function(){
var merch = $(this).siblings('textarea').text();
merch++;
$(this).siblings('textarea').text(merch);
});
});
Содержание файла admin.php
<?php include_once('head.php'); ?>
<?php
if($_GET['Login'] == "root" and $_GET['Password'] == "1111"){
$filename = 'Summary.txt';
$handle = fopen($filename, 'r');
$current = fread($handle, filesize($filename));
fclose($handle);
echo "<span id='ShopSummery'>В нашем магазине приобрели товара на <strong>" . $current . "$</strong></span>";
}else{
echo "<h5 style='color: red'>Ошибка в логине или пароле</h5>";
}
?>
<?php include_once('footer.php'); ?>
Содержание файла form.php
<?php include_once('head.php'); ?>
<?php
$Items = array(
5 => 'мышка', 12 => 'клавиатура', 500 => 'HDD', 6 => 'CD', 8 => 'DVD',
10 => 'Blu-ray', 50 => 'сканер', 40 => 'принтер', 600 => 'ext-drive', 1 => 'флопик'
);
/*
=Buyer
*/
$FName = ucfirst(trim(chop($_POST['FName'])));
$Number = trim(chop($_POST['Number']));
$Goods = "Приобрел: ";
$Price = 0;
$i = 0;
foreach($Items as $key => $item){
if($_POST["M{$i}"] != '0') {
$Goods = $Goods . $item . " " . $_POST["M{$i}"] . " штук "; $Price += $key * $_POST["M{$i}"];
};
$i++;
}
$filename = 'Merch.html';
$current = file_get_contents($filename);
$current = $current . date('j.m.Y') . " Клиент - " . $FName . "</span> Номер: " . $Number . " " . $Goods . " Выручка: " . $Price . "$<br>";
$handle = fopen($filename, 'w');
fwrite($handle, $current);
fclose($handle);
/*
=Summary
*/
$filename = 'Summary.txt';
$handle = fopen($filename, 'r');
$Price += fread($handle, filesize($filename));
fclose($handle);
$handle = fopen($filename, 'w');
fwrite($handle, $Price);
fclose($handle);
?>
<h5><?php echo $FName; ?>, Ваш заказ успешно принят.</h5>
<?php include_once('footer.php'); ?>
Содержание файла footer.php
<div id="Paper">
<div id="skotch"></div>
<p>Лабораторная работа №3<br>
Тема: разработка фрагмента сайта интернет – магазина.<br>
Дисциплина: "Технологии программирования"</p>
<hr>
<p>Выполнил студент учебной группы ИСТ-03<br>
Першин Аркадий Игоревич</p>
<hr>
<p>г. Санкт Петербург<br>
2012 г.</p>
</div>
</body>
</html>
Результат главной страницы
Результат работы формы учета магазина
Результат работы формы заказа
Результатом работы формы заказа является вывод сообщения об успешно выполненной покупки. Однако на стороне сервера файл-обработчик заполняет два файла:
-
Merch.html – файл хранения данных о совершенной покупки, в виде:
[текущая дата] “Клиент - ” [фамилия заказчика] “Номер: ” [телефонный номер заказчика] “Приобрел” [приобретенный товар] “Выручка: ” [сумма денег за приобретенный товар]
-
Summery.txt – файл хранения суммарной выручки магазина в целочисленном виде.