phpbar.de logo

Mailinglisten-Archive

[php] Warenkorb-Daten wie speichern?

[php] Warenkorb-Daten wie speichern?

Guido Haeger GH-lists_(at)_ecora.de
Thu, 13 Jul 2000 07:43:03 +0200


Andreas Korinek schrieb

> ich programmiere grade einen Warenkorb für einen Online-Shop
> und stehe jetzt vor dem Problem, wie ich die Daten während
> der Session speichern soll. Es steht nur PHP3 ohne PHPLIB
> zur Verfügung, deshalb fallen Sessionfunktionen flach.

Die PHPLib besteht auch nur aus PHP-Scripten und sollte sich problemlos
installieren lassen. Alternativ kannst Du Dir ein Anlehnung an die
PHPLib auch ein eigenes Session-Management schreiben.

> Also hab ich mir gedacht, ich erzeuge ein Cookie mit einer
> Session-ID und lege eine SQL-Tabelle an, die genauso wie
> die ID heißt. In die speichere ich die ganzen Warenkorbdaten
> rein und lösche sie nachher wieder, wenn die Bestellung
> raus ist (könnte man auch für Archivzwecke aufheben).

Das dürfte so ziemlich die schlechteste Lösung sein. Du kannst z.B. ein
mehrdimensionales Array als "Warenkorb" nutzen. Dabei kannst Du zu jedem
Key (z.B. Produkt-ID) dann beliebige Informationen speichern( Menge,
Farbe, Preis, weitere Optionen ...). Das Array verwandelst Du mit
serialize() in Zeichensuppe, die Du in der Warenkorbtabelle Deiner
Datenbank unter der Session-Id abspeicherst. Beim Auslesen verwandelst
Du die Zeichensuppe mit unserialize() zurück in ein Array.

> Das unschöne an der Lösung ist aber, daß ja auch
> abgebrochene Sessions aufgeräumt werden müssen und
> daß sehr viele Tables entstehen.

Diese Aufräumfunktion brauchst Du eigentlich immer. Schau Dir mal die
Garbage Collection der PHPLib an.

Guido Haeger





php::bar PHP Wiki   -   Listenarchive