Andreas: Warenkorb mit Sessions anstatt mit MySQL

Beitrag lesen

Moin!

Halihallo again

Haui-Fan?

... und welche ich re-wiederlegen kann :-))

tja...

RDBMS eben :-)
SQL, Sockets, Datawarehousing, Integrität :-)
OK. Zugegeben, das Argument ist schwach, aber ich mag keine Sessions :-)

Wieso nicht? Sag mal bitte, was Dich an Sessions stört!

Ist mir zu Client-bezogen... Ich mags, wenn alles auf'm Server passiert. Dann hab ich alles unter Kontrolle und überlasse nix dem Zufall... :-)

Hä? Was  ist daran mehr Client-bezogen, als an einer Session/MySQL Lösung?
Wie gesagt brauche ich Sessions auf alle Fälle. Dir ist auch klar, das die Sessiondaten auf dem Server gespeichert werden, noch nichtmal ein Cookie wird beim Client gespeichert, die SessionID wird immer per GET/POST über den gesamten Shop als Variable "mitgeschleppt"! Der Cient Sesdet auslo immer die SessionID ine seinem HTTP-Request ebntweder im GET oder POST Header mit, sonst nichts, und nur die ID, der Rest(die eigentlichen Daten, auch komplette Arrays!) wird in Sessiondateien auf dem Server abgelegt. Wie gesagt, noch nichtmal Cookies werden verwendent!

OK; das ist wahr. Sonst bräuchtest du einen Login...

Selbst mit Login bräuchte ich Sesions(oder eigenen Wiedererkennungs-algorythmus, oder .htaccess), aber dazu hat Michael sich ja schon geäußert!

Was ist denn der Unterschied? - Woran erkennt das der Browser?

Sie Michael, und guck mal in den Sicherheitseinstellungen(oder Datenschutz) Deines Browsers, beim IE z.B. gibt es Cookies von 2. und 3.-Anbieter, und Sitzungscookies, die werden je nach Einstellung unterschiedlich behandelt, den Sitzungscookies wird standardmäßig immer am meisten vertraut!

Ach so. Entschuldige, das hab ich nicht mitgekriegt; dann fallen in der Tat einige meiner Argumente ins Bodenlose :-)

... tja ;-) Nur ernsthaft, überleg Dir malö, wieviele Daten unnütz im Warenkorb liegen, und erklär mir doch mal, was Du bis heute daraus für Schlüsse ziehen konntest!

Wenn das Script doch die Session aktualisiert, hast du ja auch die Daten irgendwo im RAM-Speicher. D. h. du müsstest diese einfach vom entsprechenden Ort (z. B. Forumlardaten) holen und nicht von der Session. Oder eben auch wieder ein Vorteil von RDBMS: Die Daten werden "real-time" verändert und müssen nicht zum nächsten Scriptaufruf warten...

Ja, ich habe die Daten ja am Anfang des Sriptes, jetzt ist dei Frage, was sauberer ist, noch ein Script dazwischen hängen("Artikel XY wurde in Warenkorb gelegt..."), hier in der Session registrieren, und dann per headerweiterleitung auf den Warenkorb hat man dann alle Daten. Die 2. Möglichkeit wäre, die bisherigen Daten in der Session uind die aktuellen Datzen aus dem Formula direkt anzuzeigen, nur wenn man dann einen Artikel löschen will, oder die Anzahl ändern, dann wirds kompliziert, ode? Wir sieht es Deiner meinung nach mit der Warenkob Klasse aus, kann man die noch kompatibel zu einer DB halten?

Ich glaube Du weiß nicht, wie einfach und unkompliziert der Umgang mit Sessions in PHP ist ;-))))))

Anscheinend :-)))

Du kannst in PHP in jedem Script mit

session_start();

Die Sesion aktivieren, wenn noch neu, dann wird diese neu angelegt, sonst hast Du direkten Zugriff auf alle Variablen in der Session, mit einem

$_SESSION[$warenkorb_array];

würdest Du z.B. einen kopl. Array Warenkorb in de Session abspeichern oder aktualisieren, Du kannst so viele Arrays und Variablemn in dem Session-Array speichern, wie Du willst! Das ist doch nun wirklich einfach, oder?  Auf der nächsten Seite hättest Du sogar Zugriff auf den Warenkorb mit

session_start();
$warenkorb_array;

Was aber langfristig aus Seicherheits und performance Gründen vemieden werden sollte, also lieber mit

session_start();
$_SESSION[$warenkorb_array];

Ist doch wirklich nicht so unschön, oder?

Viele Grüße
Andreas