Artikel bleiben nicht im Warenkorb gespeichert

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Artikel bleiben nicht im Warenkorb gespeichert

Beitrag von wolfschw »

Hallo

Wenn ich Artikel in den Warenkorb lege und dann den Internet Browser (IE8) schliesse
ist der Warenkorb beim nächsten besuch leer.

Woran liegt das ?
Was gibt es noch für Einstellungen im Shop ?

gruß

wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

der Warenkorb wird für angemeldete Kunden gespeichert. D.h. für Kunden, die sich bei dem System anmelden
wird der Warenkorb im System - für den eindeutigen - dem System bekannten - Kunden der Warenkorb gespeichert.

Kunden die im Shop nur stöbern - hier verliert der Shop nach der der - auf dem Server eingestellten Session -Zeit
den Warenkorb
http://www.oos-shop.de/doc/php_manual_d ... ssion.html

In der Regel nach 20 Minuten nach dem letzten klick

Gruß

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Hallo

Session ist installiert.
Es funktioniert einfach nicht.
Im Admin-Bereich
Wer ist Online ist der Gast nach dem er den Browser geschlossen noch ca. 20 Min. zu sehen
und die Produkte liegen noch im Warenkorb.
Kommt er aber vor abgelaufener Zeit wieder zurück ist ein neuer Gast zu sehen
mit der Gleichen IP-Adresse aber der Warenkorb ist leer.

gruß

wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

der Shop sollte selbstverständlich eine "Entführung" der Session verhindern. Daher gibt es einige Sicherheits-Einstellungen
im Shop die möglicherweise im Weg stehen. Z.B. verwendet der Kunde den gleichen Rechner mit dem gleichen Browser?

Diese und weitere Regeln stehen in dem Plguin

~/shop/includes/plugins/oos_event_session/*.*

Sollte der Kunde z.b. keine Cookies akzeptieren kann er durch das Löschen der Session - ID in der URL eine neue Session
bewußt starten. D.h der Warenkorb wird für den Kunden gelöscht.

Für doe Komminikation zwischen Shop und Browser ist bei jedem Klick die eindeutige Session-id notwendig. Der Shop
bzw. PHP ist die Ziet (innerhbal der 20 minuten) unerheblich... D.h. PHP benötigt bei jedem klick die ID

Hilft dies?

Gruß

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Hallo

Ist soweit alles klar.
Bei mir auf dem Test-Shop mit dem gleichen Browser funktioniert das ja komischer weise.
Nur auf dem richtigen nicht.

Hab jetzt schon alle Dateien verglichen und finde nix

gruß

wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

zuerst einmal sorry für die merkwürdige kommunikation in den letzten tagen... ich habe mir am montag bei einem outdoor fotoshooting
einen schweren sonnenbrannt auf meinem kopf geholt und war/bin seit dem mehr oder weniger nicht richtig da :(

mit winmerge (ein tool für windows) die php scripte
~/shop/includes/plugins/oos_event_session/oos_event_session.php
vergleichen

wenn es bei dem online system probleme gibt schreibt der shop diese (bei richtiger konfiguration)
nach
~/oos_temp/logs/*.*

hier kann man nachsehen, ob es probleme mit der datenbank oder php gibt

laufen test und life systeme auf unterschiedlichen betriebsystemen
ist ein vergleich der php konfiguration sinnvoll
Admin => Hilfsprogramme => Server info hier php info anklicken oder
http://www.example.org/admin/php_info.php

wenn in den links unter "wer ist online" die session id angehängt ist - bei dem gast
z.b. an den kryptischen Zeichen erkennbar
r/file/login?OOSID=f0519a6bbc4398b15346b0de7f2

so nimmt der Browser keine Cookies an. sobald der Kunde die ID in der URL löscht oder ändert
also dieses hier f0519a6bbc4398b15346b0de7f2 ider Warenkorb weg und es wird eine neue
Session gestartet.

Welche Sprachen sind online in der Datenbank aktiv? wechslet der Shop auf z.b. englisch, weil
der Kunde in seinem Browser englisch bevorzugt? und verliert der Kunde so die session id bei seinem neuen besuch?

Wie sind die Session eingerichet? Speichert der Shop die Daten in die datenbank oder in eine Datei auf dem Server? (Datei auf dem Server ist sinnvoll)

Gruß

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Hallo

Die Dateien
~/shop/includes/plugins/oos_event_session/oos_event_session.php
sind verglich. Es gibt keine unterschiede.

In der ~/oos_temp/logs/*.*
Ist mir nichts aussergewöhnliches aufgefallen.

Wenn ich in der Datenbank nach whhos-online gehe ist ein Kunde mehrmals
mit gleicher IP aber mit unterschiedlichen session-id vorhanden.

Dann gibt es noch eine Datenbank mit Sessions, die ist leer.

Der shop ist nur in Deutscher Sprache eingerichtet.


gruß

wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

ich habe mir den shop noch einmal in ruhe angesehen - und ich kann keinen fehler finden.

ich war bei dem externen Bewertungsanbieter - habe dort die positiven Bewertungen durchgelesen und bin über den
dortigen Link (ohne Session) zurück zum Shop und der Shop hat meinen Cookie akzeptiert und *keine* neue Session
gestartet.

Ich habe mit der gleichen IP auch zwei Warenkörbe einmal mit IE und Firefox anlegen können. D.h. Mitarbeiter von Unternehmen
können in dem Shop auch ohne Probleme kaufen.

Es gibt im Shop verschiedene Sicherheits-Prüfungen, damit nicht fremde auf dem Kunden-Kunden eines anderen kaufen können.
Gleichzeitig kann aber der Shopbetreiber aber auch für einen Kunden kaufen. Wir prüfen einfach auf Sinnhaftigkeit der Daten.

in der Vergangenheit haben wir gerne diese Funktion aufgerufen

Code: Alles auswählen

  function oos_session_regenerate_id() {
    if (function_exists('adodb_session_regenerate_id')) {
      return adodb_session_regenerate_id();
    }
  } 
Diese Funktion ruft eine ADODB Funktion auf und erzeugt eine neue Session-ID *ohne* den Inhalt
zu verlieren. Leider gab es in der Vergangeheit bei einigen Massenhostern und billigst Providern Probleme
mit dieser Funktion - ohne, dass diese dortigen Kunden uns im Forum das Problem beschreiben noch
die Konfigration erklären konnten. Es kam im alten Forum nur "Session funktioniert nicht"
Warum oder was nicht funktionierte - konnten wir leider nicht mehr herrausfinden... daher haben wir diese
sinnvolle - und von mir wirklich empfohlene funktion - deaktiviert.... Evtl. sind aber noch reste dieser
Funktion in der 1.7.x aktiv.
Einfach mit einem Editor den Aufruf der function oos_session_regenerate_id suchen - oder

Code: Alles auswählen

  function oos_session_regenerate_id() {
      return true;
  } 
Ich glaube im Warenkorb und bei der Bestellung/Anmeldung haben wir dies verwendet.

Die leere Session Datenbanktabelle ist richtig. Wenn man unter großer Last eben einen weiteren Server
zuschalten muss, kann man die Session ohne Änderung der Datenbank im laufenden Betreib in die Datenbank schreiben.

Aber in einem normalen Ein Shop - Server - System ist die Session in der Datei sinnvoller.


Evtl. hilft eine Verlängerung der Session laufzeit auf dem Server?

Beste Grüße

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Hallo

Danke die für deine Hilfe und Geduld,
aber ich gebe es auf.
Ist mir zu hoch.

gruß

wolfgang
r23
Beiträge: 2623
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

aufgeben ist keine gute Lösung.

Wenn der Kunde die Seite besucht wird eine Sitzung (Session für den Kunden) gestartet. Es wird für den Kunden eine Datei auf dem Server angelegt und der Kunde erhält eine eindeutige Nummer

Beispiel
OOSSID=c514f5eb20eb53f8e08d08b05c3cf3df

Diese Nummer muss der Kunde nun bei jedem Klick im Shop mitangeben. Wenn der Kunde in seinem Browser Cookies von dem Shop annimmt, so wird die Session ID auf den Rechner des Kunden
gespeichert. Beim nächsten Klick in dem Shop nimmt der Shop die Daten aus dem Cookie.

Wenn der Browser vom Kunden den Cookie vom Shop nicht annimmt, wird hinter jedem Link im Shop die Session ID als GET-Variable angehangen.
&OOSSID=c514f5eb20eb53f8e08d08b05c3cf3df
in der Log "Wer ist online" kann man dies recht gut sehen, welcher Kunde den Cookie vom Shop nicht angenommen hat.

Wenn dieser Kunde nun den Shop zu dem externen Bewertungssystem verläßt und über den dortigen Link zurück kommt, so hat dieser *und nur dieser Kunde* seinen Warenkorb verloren.

Wenn man möchte kann man noch weitere Informationen von dem Besucher unter "wer ist online" abfragen... Ich persönlich bevorzuge hier die "Life funktion" von piwik. Hier kann ich bei den
letzten Besuchern sehen, wie sie über den Shop gesurft sind. Produkt => Kategorien => Produkt => Warenkorb => So kann ich relativ einfach "Sackgassen finden"

Schönes Wochenende

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Hallo

Das mit der Session ID funktioniert ja auch.
Nur wenn ich Cookies ablehne, kann ich auch nichts in den Warenkorb legen.
Weder im Test-Shop und im Life-Shop bei mir
und im Demo-Shop vom OOS geht dieses auch nicht.

Schönes Wochenende noch

gruß
Antworten