pisze koszyk internetowy na podstawie klasy podpatrzonej gdzies w necie (nie pamietam juz mozliwe cos zmienialem). Jednak mam problem z usuwaniem ostatnich elementow. Jesli np w koszyku zostaly 2 sztuki jakiegos produktu i chce sie je usunac... w tym momencie poprawnie wypisuje ze usunieto, koszyk nie wyswietla zawartosci, ale po przeladowaniu znowu te 2 sztuki sie pojawiaja (tak jakby zmiany nie byly wprowadzone do zmiennej sesyjnej). Probowalem wiec uzyc unset gdy obiekt jest pusty... ale cos niebardzo chce dzialac. Poradzcie cos. Zamieszczam skrypt:
// fragment index.php: else { $take=new cart; } if ($_GET[page]=='cart') { include('cart.php');} ?> //a tu cart.php <? function showall(cart $take){ $dbase=new database; $wynik=$dbase->search('id',$klucz); //od tego momentu $wynik jest obiektem. wlasciwosci wyciagniete z bazy danych na p dstawie id3 $klucz=$wynik->name; } } } switch ($_GET[action]) { case 'add': $take->add($_GET[id],$_GET[amount]); showall($take); } else { } break; case 'del': $take->del($_GET[id],$_GET[amount]); showall($take); } else { } break; default: showall($take); break; } ?> //klasa cart: <? class cart { function add($id, $amount) { $this->goods[$id] += $amount; } function del($id, $amount) { if ($this->goods[$id] > $amount) { $this->goods[$id] -= $amount; return true; } elseif ($this->goods[$id] == $amount) { return true; } else { return false; } } } ?>