Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #43, ИЮНЬ 2004 г.

Мутим интернет-магазин

Roman AKA Docent

Спецвыпуск Xakep, номер #043, стр. 043-008-6


// проходим массив $_SESSION выбирая оттуда id и количество товаров

foreach ($_SESSION["tovar"] as $key => $value)

{

$query1="select*from hardware_shop where ";

$query1 .="item_no=$key";

$result1=mysql_query($query1);

while($row=mysql_fetch_array($result1))

{

$aIN=htmlspecialchars($row["item_no"]);

$aIT=htmlspecialchars($row["item_type"]);

$aT=htmlspecialchars($row["title"]);

$aT2=htmlspecialchars($row["title2"]);

$aDEV=htmlspecialchars($row["developer"]);

$aDESC=strings_addbreaks($row["description"]);

$aPRICE=htmlspecialchars($row["price"]);

$aST=htmlspecialchars($row["status"]);

echo "<b>$aT2</b><br><b>Производитель:</b> $aDEV<br><b>Цена:</b> $aPRICE <b>у.е.</b><br>Технические характеристики</b><br>$aDESC<br>";

echo"<center><form method='post' action=edit_items.php?id=$aIN&q=$q&p=$aPRICE&category=$aIT&undercategory=$aT>количество в вашй корзине: <input type='text' name='q' size='2' maxlength='2' value='$value'> шт. <input type='submit' name='qu' value='изменить количество'></form>

<form method='post' action=delete_items.php?id=$aIN&q=$q&p=$aPRICE&category=$aIT&undercategory=$aT><input type='submit' name='qu' value='убрать этот товар'></form>

}

}

}

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

// add_items.php – добавление товара в корзину

$_SESSION["tovar"][$id]+=$q;

// delete_items.php – удаление товара из корзины

unset($_SESSION["tovar"][$id]);

// edit_items.php – редактирование содержимого корзины

$_SESSION["tovar"][$id]=$q;

Это происходит, когда клиент заполнил форму о доставке и нажал на кнопку «оформить»

// добавление в базу информации о сделанном заказе из формы, которую заполняет клиент (я не привожу ее здесь)

$res=mysql_query("insert into transaction (date, fio, email, phone, address, datetime, comment, tovar) values ('$CurDate', '$fio', '$email', '$phone', '$address', '$time', '$comments', '$order')");

// отправляем менеджеру на почту информацию о заказе

mail($MANAGER_EMAIL, "ВНИМАНИЕ! В вашем магазине сделан новый заказ!", "$CurDate\n\n Покупатель:\n $fio\n\n E-Mail покупателя:\n $email\n\n Телефоны покупателя:\n $phone\n\n Адрес покупателя:\n $address\n\n Желательно доставить:\n $time\n\n Комментарии:\n $comments\n\n Заказанные товары:\n $order\n

// вычтем количество всех купленных товаров из тех, что хранятся в базе

foreach ($_SESSION["tovar"] as $key => $value)

{

$query1="update hardware_shop set status='$aST' where ";

$query1 .="item_no=$key";

$result1=mysql_query($query1);

}

// и наконец просто удалим текущую сессию, чтобы корзина стала пустой.

session_destroy();

Назад на стр. 043-008-5  Содержание