Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ.РАБ.№3-исправлена в 2011.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
267.26 Кб
Скачать

2.3 Передача параметров по ссылке, передача параметров из формы.

Создайте файл test_form.html. Задайте на ней форму:

<form action="forma.php" method="get" >

<br>Сообщение:<br>

<input type="text" name="message">

<br>Имя:<br>

<input type="text" name="name">

<br><input type="submit" value="Обработать данные">

</form>

Создайте файл forma.php для обработки данных формы, который может выглядеть следующим образом:

<?php

echo "Привет, $_REQUEST[name]! <br>";

echo "Твое соообщение $_REQUEST[message].” <br>";

?>

Попробуйте изменить метод GET на метод POST, теперь значения переменных не должны передаваться в открытом виде.

Вместо элемента <input type="text" name="name"> определите на странице выпадающее меню, такое, как приведено ниже:

Измените работу скрипта таким образом, чтобы пользователь мог выбрать имя из списка, ввести приветствие, нажать кнопку "Обработать данные" и получить c помощью обработки переданной переменной в файл forma.php приветствие для выбранного имени.

Измените страницу с формой так, чтобы пользователь мог выбрать приветствие, нажав кнопку зависимой фиксации:

Привет Здравствуйте Рад Вас снова видеть Добрый день

Добавьте кнопку для очистки введенных данных.

2.4 Создание формы для обработки заказов электронного магазина

По разобранному примеру создания книжного магазина разработать форму для работы следующих магазинов (по указанию преподавателя):

  1. Магазин автозапчастей

  2. Мебельный магазин

  3. Магазин продуктовый

  4. Магазин игрушек

  5. Магазин бытовой техники

  6. Компьютерный магазин

  7. Аптека

  8. Магазин канцтоваров

Форму заказа для покупателей (orderform.html) книжного магазина можно представить следующим образом:

<html>

<head>

<title>КНИЖНЫЙ МАГАЗИН</title>

</head>

<body>

<h1> КНИЖНЫЙ МАГАЗИН </h1>

<h2>Форма заказа</h2>

<form action="processorder.php" method=post>

<table border=0>

<tr bgcolor=#cccccc>

<td width=150>Название</td>

<td width=15>Количество</td>

</tr>

<tr>

<td> Сказки Андерсона</td>

<td align=center><input type="text" name="scazki" size=3 maxlength=3></td>

</tr>

<tr>

<td> Стихи А.С.Пушкина</td>

<td align=center><input type="text" name="ctixi" size=3 maxlength=3></td>

</tr>

<tr>

<td> Журнал «Бизнес» </td>

<td align=center><input type="text" name="zurnal" size=3 maxlength=3></td>

</tr>

<tr>

<td colspan=2 align=center><input type=submit value="Отправить заказ"></td>

</tr>

</table>

</form>

</body>

</html>

Для обработки формы можно создать файл, аналогичный processorder.php:

<html>

<head>

<title>Книжный магазин – Результаты заказа</title>

</head>

<body>

<h1> КНИЖНЫЙ МАГАЗИН </h1>

<h2> РЕЗУЛЬТАТЫ ЗАКАЗА </h2>

<?

$scazki=$_REQUEST[scazki];

$ctixi =$_REQUEST[ctixi];

$zurnal =$_REQUEST[zurnal];

echo "<p>Заказ обработан ";

echo date("H:i, jS F");

echo "<br>";

echo "<p>Ваш заказ составил:";

echo "<br>";

echo $scazki." сказок Андерсона<br>";

echo $ctixi." Книг со стихами Пушкина<br>";

echo $zurnal." журналов<br>";

$totalqty = 0;

$totalamount = 0.00;

define("zena1", 100);

define("zena2", 10);

define("zena3", 4);

$totalqty = $scazki + $ctixi + $zurnal;

$totalamount = $scazki * zena1 + $ctixi * zena2 + $zurnal * zena3;

$totalamount = number_format($totalamount, 2);

echo "<br>\n";

echo "Всего заказано: ".$totalqty."<br>\n";

echo "На сумму: ".$totalamount."<br>\n";

$taxrate = 0.10; // Налог с продаж 10%

$totalamount = $totalamount * (1 + $taxrate);

$totalamount = number_format($totalamount, 2);

echo " С налогом с продаж: ".$totalamount."<br>\n";

?>

</body>

</html>

По аналогии придумайте и рассчитайте скидки на заказ в зависимости от количества и/или суммы покупки. Добавить в форму код, позволяющий получить информацию о том, какие формы рекламы лучше работают или что-то по смыслу вашей работы. Например:

<td>Как вы нас нашли</td>

<td><select name="find">

<option value = "a">Я регулярный покупатель

<option value = "b">По телевизору

<option value = "c">По телефонному справочнику

<option value = "d">Знакомые рассказали

</select>

</td>

Обработайте полученную информацию в файле processorder.php. Например:

switch($_REQUEST[find]) {

case "a" :

echo "<P>Регулярный покупатель.";

break;

case "b" :

echo "<P>Покупатель увидел рекламу о нас по телевизору.";

break;

case "c" :

echo "<P> Покупатель нашел нас по телефонному справочнику.";

break;

case "c" :

echo "<P>Покупатель узнал о нас от знакомых.";

break;

default :

echo "<P>Мы на знаем как нашел нас покупатель.";

break; }

Добавьте в форму таблицу стоимости доставки заказа в зависимости от расстояния:

<table border = 0 cellpadding = 3>

<tr>

<td bgcolor = "#CCCCCC" align = center>Расстояние</td>

<td bgcolor = "#CCCCCC" align = center>Стоимость</td>

</tr>

<?

$distance = 50;

while ($distance <= 250 ) {

echo "<tr>\n <td align = right>$distance</td>\n";

echo " <td align = right>". $distance / 10 ."</td>\n</tr>\n";

$distance += 50;

}

?>

</table>

</body>

</html>

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]