[PHP] Jak stworzyć koszyk zamówień do sklepu internetowego z wykorzystaniem cookies?
Chcesz stworzyć koszyk zamówień w dowolnym sklepie internetowym.
Koszyk zamówień, gdzie klient gromadzi kupione produkty, przegląda je, kasuje, zwiększa lub zmniejsza ilość sztuk zamówionych towarów to jeden z najważniejszych elementów sklepu internetowego. Trudno wyobrazić sobie funkcjonowanie sklepu bez koszyka.
Koszyk powinien być prosty w obsłudze, elastyczny i bezpieczny. Stwórzmy go, bo bez wątpienia będzie Ci potrzebny, jeżeli zamierzasz cokolwiek sprzedawać w Sieci.
Zasymylujemy przy okazji wszystkie procesy, z których korzysta klient, a więc dodanie produktu do koszyka (kupno towaru), usunięcie go z koszyka, zmianę sztuk danego produktu i oczywiście przegląd koszyka. Wystarczy, że umieścisz poniższy skrypt w pliku index.php aby zobaczyć, jak przebiega obsługa koszyka.
Oczywiście każdy sklep musi mieć koszyk dostosowany do własnych potrzeb, jednak poniższy szablon można zastosować w każdym sklepie bez wyjątku. Wystarczy dodać grafikę i obsługę cen. Ponieważ wykorzystuje on cookies, użytkownik musi je mieć włączone.
Poniższym koszykiem możesz pobawić się też online, na stronie:porady/00/06/koszyk/index.php
<?
$koszyk=$_COOKIE["koszyk"];
$id=$_GET["id"];
$ile=$_GET["ile"];
if ($ile<0) unset($ile);
function dodaj($koszyk,$id,$ile) {
$zakupy = explode("|",$koszyk);
for ($i=0;$i<count($zakupy)-1;$i++) {
$p = explode("#",$zakupy[$i]);
if ($p[0]==$id) {
if (isset($ile)) $p[1]=$ile;
else $p[1]++;
$jest=true;
}
if ($p[1]>0) $nowy .= "$p[0]#$p[1]|";
if (!$jest) $nowy .= "$id#1|";
return $nowy;
if ($id<>"") {
$koszyk = dodaj($koszyk,$id,$ile);
setcookie("koszyk", $koszyk, 0, "/");
header("Location: index.php");
exit;
?>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head><meta http-equiv="content-type"
content="text/html; charset=iso-8859-2">
<title>Koszyk </title></head><body>
<p>
Zawartość koszyka:
echo "<table border=1>";
echo "<tr align=center><td><b>id</b></td><td><b>sztuk</b></td><td> </td>";
echo "<tr><td valign=center>$p[0]</td>";
echo "<td><form action=\"index.php\" action=\"get\" style=\"display:inline;\">
<input type=\"hidden\" name=\"id\" value=\"$p[0]\">
<input type=\"text\" name=\"ile\" value=\"$p[1]\" style=\"width:50px;\">
<input type=\"submit\" value=\" zmień \" style=\"80px;\"></form></td>";
...
sliwak