Ankündigung

Einklappen
Keine Ankündigung bisher.

Zurück Button Browser doppelte Speicherung

Einklappen

Neue Werbung 2019

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

  • bumer2006
    hat ein Thema erstellt Zurück Button Browser doppelte Speicherung.

    Zurück Button Browser doppelte Speicherung

    Folgendes Problem:

    ich habe einen online-shop porgrammiert. Wenn der Kunde auf den Button "in den Warenkorb" klickt wird die Ware in den Warenkorb gelegt. Gehe ich jetzt auf den Warenkorb um mir die Ware anzuschauen, die ich gekauft habe und dann nochmal zurück (Zurück button des Browsers) in den shop, werden in der URL wieder die selben Variablen aufgerufen. Das bedeutet das meine ganzen If abfragen noch einmal abgerufen werden und dann wird der letzte Artikel nochmal in den Warenkorb gepackt. Also doppelte Speicherung nach dem man den zurück button gecklickt hat. Gibt es eine möglichkeit die Variabeln zu löschen, wenn man den Zurück Button im Browser aktiviert.

    Danke für eure Hilfe.

  • ChrisB
    antwortet
    @nikosch:
    Eine Weiterleitung (auf eine per GET anzufordernde Ressource) nach einem POST-Request ersetzt den aktuellen Eintrag in der History - wenn du danach irgendwann mit dem Zurück-Button an diese Position zurückkehrst, bekommst du nur die per GET angeforderte Ressource wieder angezeigt.

    Diese Methode funktioniert natürlich nicht bei Affenformularen, wo mehrere POST-Requests hintereinander erfolgen.

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Oder du leitest direkt nach speichern des Artikels per header('Location: ...') weiter.
    Macht das für das Problem nen Unterschied?

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Nein. Entweder du schickst ein Token mit, das nur einmal gültig ist. Oder du machst das ganze über POST dann wird der User gefragt ob er das Formular nochmal absenden möchte, er merkt also das er den Artikel nochmal in den Warenkorb legen würde. Oder du leitest direkt nach speichern des Artikels per header('Location: ...') weiter.

    Einen Kommentar schreiben:

Lädt...
X