Mailinglisten-Archive |
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