Cookie löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cookie löschen

    Hallo alle zusammen, hab mal ne Frage zu einer Cookie löschen Funktion.
    Speichere in einem Cookie-Array alle Produkte(die ID) sowie die jeweilige Anzahl der Produkte. Wenn ich das komplette cookie löschen will, geht das nicht.

    PHP-Code:
    <?
    foreach ($_COOKIE['shop'] as $artikel_id => $artikel_anzahl)
        {
        setcookie('shop['.$artikel_id.']',$artikel_anzahl,time()-3600,'/');
        }
    ?>
    Wenn ich jetzt 3Artikel ausgewählt habe, und löschen will, dann löscht es immer nur den letzten Artikel.

    Komisch oder? Woran kann das liegen? kann ich direkt das "shop" cookie löschen? wie lautet dann der aufruf?

    mfg Martin
    Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

  • #2
    Hmm ... sämtliche Erklärungsversuche führen in eine Sackgasse.
    Aber nichts desto trotz wirst du mit Cookies irgendwann an eine Grenze stoßen, wenn zuviele verschiedene Artikel in den Warenkorb gelegt werden.

    Besser ist also, du speicherst die Artikel auf dem Server - am besten in einer Session - und speicherst im Cookie nur einen Verweis auf die Daten - bei Sessions geschieht das ebenso wie das Auslesen des Verweises (der Session-ID) automatisch, sofern in der php.ini session.use_trans_sid=1 (und session.use_cookies=1) ist.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      keine Lösung in sicht?

      Hallo alle,

      Wie meinst du das mit alle Erklärungsversuche scheitern?
      gibt es keine mgl. das zu lösen? Muss ja irgendwo ein Fehler sein oder? Oder schon bug?

      mfg Martin
      Evtl. Rechtschreibfehler sind beabsichtigt und dienen der Belustigung des Lesers

      Kommentar


      • #4
        "Alle Erklärungsversuche führen in eine Sackgasse."
        Sprich ich hatte keine Idee, warum es nicht funktioniert; einen Lösungsvorschlag habe ich gemacht.

        Übrigens legst du für jeden Artikel einen neuen Cookie an; nicht einen für alle Artikel. Aber das geht ja laut PHP-Handbuch auch ok so.

        Aber da war doch mal was mit der Zeit ... wenn ich mich nicht irre, wird die nämlich in UST und nicht in lokaler Zeit gemessen. Und wenn dann noch die Uhr auf dem Client nachgeht ... Gib doch statt "time()-3600" einfach 0 an - das liegt definitiv in der Vergangenheit.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar

        Lädt...
        X