Projekt

Allgemein

Profil

Aktionen

GX-Abgewiesen #42700

geschlossen

Shop scheint gesetzten Haken bei AGB/WRB im Checkout zu vergessen

Von Marco Bruchmann vor mehr als 8 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Abgewiesen
Priorität:
Normal
Zugewiesen an:
Daniel Schnadt
Kategorie:
Checkout
Zielversion:
-
Beginn:
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Release Notes Langtext:

Beschreibung

Ausgangssituation: Unter Konfiguration -> Allgemeines -> Rechtliches ist „Widerrufsrecht im Bestellvorgang bestätigen“ (GM_CHECK_WITHDRAWAL) nicht aktiviert.

Ablauf: Man durchläuft den Checkout, setzt auf checkout_payment den AGB-Haken und geht weiter auf die checkout_confirmation. Klickt man jetzt in die Adressleiste und drückt Enter, landet man wieder auf der checkout_payment, die einem vorwirft, man hätte den AGB-Haken nicht gesetzt.

Ursache: Die checkout_confirmation erzeugt eine Ausgabe bei Aufruf per POST und verlässt sich auch darauf, so aufgerufen zu werden. Diese Grundannahme ist jedoch ungültig, da auch die pre_confirmation_check()-Methoden der Zahlungs- und Zusammenfassungsmodule aufgerufen werden, die Weiterleitungen auslösen können, an deren Ende die checkout_confirmation per GET aufrufbar sein muss.

Lösungsansatz kurzfristig: Bei $_SERVER['REQUEST_METHOD'] === 'POST' darf keine Ausgabe erzeugt werden. Die $_POST-Parameter müssen in geeigneter Weise ausgewertet werden und anschließend eine Weiterleitung auf checkout_confirmation ausgelöst werden, so dass der Aufruf der pre_confirmation_check()-Methoden und die Ausgabe aus einem GET-Aufruf heraus erfolgen.

Lösungsansatz langfristig: Seiten sollten grundsätzlich $_SERVER['REQUEST_URI'] als Action für POST-Formulare verwenden, ihre POST-Daten also selbst verarbeiten, und erst danach auf die Folgeseite weiterleiten, so dass letztere immer zuerst per GET geladen wird.


Aktionen

Auch abrufbar als: Atom PDF