nixwisserin: neuer WK beim öffnen eines neuen Browserfenster?s

Hallo!

Also ich habe einen warenkorb in einem OnlineShop. jeder warenkorb bekommt eine Sessionid zugewiesen, sobald ein Artikel da reingelegt wird. Diese id wird dann in einer variable gespeichert, die dann immer zu jeder weitern seite weitergegebn wird.
Wenn ich nun Artikel im Warenkorb habe und nun denn Browser neu starte (dabei das alte Fenster mit dem warenkorb geöffnet lasse)und wieder etwas in den warenkorb lege, dann müßte doch ein neuer erstellt werden, mit einer anderen session_id, oder?
Leider hab ich festgestellt das das bei ältern IE nicht geht, sondern, das dort der WK aus dem anderen Fenster beibehalten wird. Kann das sein?

  1. Moin!

    Wenn ich nun Artikel im Warenkorb habe und nun denn Browser neu starte (dabei das alte Fenster mit dem warenkorb geöffnet lasse)und wieder etwas in den warenkorb lege, dann müßte doch ein neuer erstellt werden, mit einer anderen session_id, oder?

    Nicht zwingend. Sofern die Session-ID per Cookie übergeben wird, wird auch das zweite Fenster den Inhalt dieses Cookies mit der einen Session-ID an den Server senden und deshalb garantiert den identischen Warenkorb dieser einzigen Session erhalten.

    Wenn du zwei Sessions haben willst, mußt du entweder die Annahme von Cookies verweigern (und die bestehenden löschen), oder einen zweiten Browser starten (empfiehlt sich ja sowieso, einen installiert zu haben, sonst kann man ja garnicht vernünftig testen).

    • Sven Rautenberg
    1. Nicht zwingend. Sofern die Session-ID per Cookie übergeben wird, wird auch das zweite Fenster den Inhalt dieses Cookies mit der einen Session-ID an den Server senden und deshalb garantiert den identischen Warenkorb dieser einzigen Session erhalten.

      Ich verschicke aber gar keine cookies, meines Erachtens.
      wenn der Wk asufgerufen wird, wirs eine session_id erzeugt und in eine Variable gespeichert.

      <?session_start();
      $wk_id=session_id();

      Die $wk_id geb ich nun entweder mit einem <hidden>-feld oder über den Link weiter.
      Das ist doch keine Arbeit mit cokkies,oder? :)
      Aber das, wenn ich ein neues Browser-fenster öffne und sich dann ein neuer WK erstellt,muß doch bei allen Brwowser-Versionen so sein?

      1. Hi,

        Aber das, wenn ich ein neues Browser-fenster öffne und sich dann ein neuer WK erstellt,muß doch bei allen Brwowser-Versionen so sein?

        Also auf den mir bekannten seiten hab ich immer die gleiche session ID
        egal wieviel neue fenster, tbs etc. ich aufmache. erst wenn ich alle
        browserfenster schließe hab ich beim wieder aufruf der seite eine neue ID.

        MfG

      2. hi,

        Die $wk_id geb ich nun entweder mit einem <hidden>-feld oder über den Link weiter.
        Das ist doch keine Arbeit mit cokkies,oder? :)

        das ist arbeit ohne ahnung von der verwendeten technik.

        der session-mechanismus von PHP versucht in den standardeinstellungen immer mit cookies zu arbeiten - und zwar wird dieses schon beim aufruf von session_start() ausgelöst.

        dein

        $wk_id=session_id();

        ist an der stelle weitgehend wirkungslos.
        schön, du hast jetzt die session-id in deiner variablen $wk_id - aber wieso nimmst du an, dass PHP sich dafür in irgendeiner weise interessieren würde?
        PHP hat sein kekschen gesetzt, und arbeitet auch mit diesem weiter, sofern es nicht daran gehindert wird.

        du solltest dich erst mal etwas eingehender mit sessions beschäftigen, _bevor_ du dich an eine komplexe aufgabe wie die erstellung eines shopsystems heranmachst.

        http://www.php.net/manual/de/ref.session.php
        http://tut.php-q.net/sessions.html
        http://php-faq.de/ch/ch-version4_session.html

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }