Практична робота №3

            Метою даної практичної роботи буде створення інтерфейсу на додання товарів до каталогу. Отже розділимо процес на дві частини. Першою частиною буде форма для вводу інформації, а друга – безпосередньо буде завантажувати малюнок на сервер та додавати запис в БД про новий товар.

            Форма для вводу може виглядати так:

            .html код який її створює, виглядає таким чином:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 

<head>

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<title>Додати новий продукт</title>

</head>

<body>

<p><h2 align=center>Додати новий товар</h2></p><br />

<table style="width: 100%;font-size: 20px">

<tr><td align="right" style="vertical-align: top">Імя товару: <br />

Розмір: <br />Вага: <br />Виробник: <br />

Опис: <br />Ціна: <br />Малюнок: </td>

<td><form name="add_prod" method="post" action="compeate_add.php" enctype="multipart/form-data">

<input name="name_db" type="text" style="width: 450px" /><br/>

<input name="size_db" type="text" style="width: 450px" /><br/>

<input name="weight_db" type="text" style="width: 450px" /><br/>

<input name="manufacturer_db" type="text" style="width: 450px" /><br/>

<input name="description_db" type="text" style="width: 450px" /><br/>

<input name="price_db" type="text" style="width: 450px" /><br />

<input name="picture_db" type="file" style="width: 450px" /><br /><br />

<input name="dodatu" type="submit" value="Додати" style="width: 450px" />

</form></td></tr></table>

</body>

</html>

 

            Тепер потрібно для цієї форми написати обробник, який буде завантажувати малюнок на сервер, додавати в БД новий рядок, та контролювати і виводити помилки (якщо вони мали місце).

            Також було б не зайвим в кінці стрінки розмістити два посилання, перше для додання іще однієї одиніці товару, друге для переходу в каталог товарів, щоб користувач міг переглянути тільки що додані товари.

            Один з можливих варіантів реалізації даного обробника:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 

<head>

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<title>Додання в базу товарів</title>

</head>

<body>

<p>

 

<?php

 $uploaddir="pics/";

 

 $db = mysql_connect("localhost", "root", "");

 mysql_select_db("labu");

 mysql_query ("set names 'utf8'") ;

 

 $name_db=$_POST['name_db'];

 $size_db=$_POST['size_db'];

 $weight_db=$_POST['weight_db'];

 $manufacturer_db=$_POST['manufacturer_db'];

 $description_db=$_POST['description_db'];

 $price_db=$_POST['price_db'];

 $dest=$uploaddir.$_FILES['picture_db']['name'];

 $img_db=$_FILES['picture_db']['name'];

 

 echo "<h2>Малюнок</h2> ".$dest;

 

 if (move_uploaded_file($_FILES['picture_db']['tmp_name'],$dest))

  {echo " <b>успішно</b> завантажений <br />";}

  else

  {echo " <b>помилка</b> при завантаженні файлу.<br />";}

 

 echo "<br /><h2>Товар</h2> ".$name_db."/".$manufacturer_db."/".$description_db."/".$size_db."/".$weight_db."/".$price_db."<br />";

 

 $res = mysql_query("insert into `products` values(NULL,'".$name_db."','".$size_db."','".$weight_db."','".$manufacturer_db."','".$description_db."','".$price_db."','".$img_db."');");

 

 if ($res)

 {echo "<b>успішно</b> доданий.<br /><br />";}

 else

 {echo "<b>помилка</b> при доданні товару.<br /><br />";}

 

 mysql_close($db);

?>

</p>

<p><a href="products_add.html">Додати наступний</a> - <a href="products.php">Переглянути каталог</a></p>

</body>

</html>

 

            Після закінчення роботи, обробник, при успішних діях, виведе твку сторінку:

            Вигляд новоствореного товару, в каталозі

 

Файл: