Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Abfrage bzw. Fehlermeldung bei nicht gewählter Zahlungsart

    bige

    • Mitglied
    • Beiträge: 181
    Hallo,

    arbeite derzeit am Template der aktuellen Modified Version (modified eCommerce Shopssoftware v1.06 rev 4642 SP2 dated: 2014-08-12) und bin hier auf einen Fehler gestoßen.
    Ich habe zum Testen zwei Zahlarten (Überweisung und Nachnahme) installiert.
    Wenn ich nun ohne Auswahl eine Zahlungsart weiter klicke, gelange ich auf die Checkout Confirmation Seite.
    Hier sollte ich aber eigentlich zurück zur Checkout Payment geworfen werden mit entsprechendem Fehler.
    Nun habe ich in der checkout_confirmation.php folgenden Block gefunden:

    Code: PHP  [Auswählen]
    if(isset($_SESSION['payment']) && $_SESSION['payment'] != 'no_payment') { //web28 - 2012-04-27 - fix for coupon amount == order total
      if ((is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 0) && (!is_object($$_SESSION['payment'])) && (!isset ($_SESSION['credit_covers']))) || (is_object($$_SESSION['payment']) && ($$_SESSION['payment']->enabled == false))) {
        xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
      }
    }

    Die erste If-Abfarge dieses Blocks scheint mir unlogisch. Bedeutet no_payment nicht, dass keine Zahlungsart ausgewählt wurde? Wenn ja geht PHP ja gar nicht erst in diese Abfrage rein.

    Mach ich aus "$_SESSION['payment'] != 'no_payment'" -> "$_SESSION['payment'] == 'no_payment'" geht er rein und wirft mich korrekt zurück. Wähle ich dann eine Zahlungsart aus komme ich korrekt weiter.

    Den Kunden ohne zwingende Auswahl einer Zahlungsart bestellen zu lassen halte ich für supoptimal und wird jede Menge Zusatzarbeit produzieren.

    viele Grüße
    Andi

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33723.0

    Whiteflash

    • Fördermitglied
    • Beiträge: 186
    • Geschlecht:
    Re: Abfrage bzw. Fehlermeldung bei nicht gewählter Zahlungsart
    Antwort #1 am: 03. Oktober 2015, 08:43:45
    Hallo bige,

    da steht aber doch
    Code: PHP  [Auswählen]
    !=

    != = NICHT gleich, also ist der Block für den Fall, dass der User was ausgewählt hat UND der Inhalt der Auswahl NICHT "no_payment" ist. Also bitte nicht löschen... ;-)
    Setze doch einfach drunter ein
    Code: PHP  [Auswählen]
    elseif(isset($_SESSION['payment']) && $_SESSION['payment'] == 'no_payment') {
    ....
    }
    und da kannst du dann deine Fehlermeldung wie gewünscht setzen und den User zurückführen.

    karsta.de

    • Experte
    • Beiträge: 3.156
    Re: Abfrage bzw. Fehlermeldung bei nicht gewählter Zahlungsart
    Antwort #2 am: 03. Oktober 2015, 12:43:12
    @bige
    Kann es sein, dass du das komplette JavaScript in die application_bottom.php gelegt hast? Hatte vor langer Zeit genau das gleiche Problem nach dem ich alle JavaScripte auch aus der header.php in die application_bottom.php gelegt hatte.

    Erst als ich die wieder in die header.php zurückgelegt hatte, kam auch wie notwendig die Abfrage wieder zum Greifen und der Kunde erst nach Auswahl der Zahlungsart zur checkout_confirmation.php.
    0 Antworten
    1359 Aufrufe
    11. Februar 2015, 01:59:06 von Emma2011
    3 Antworten
    1151 Aufrufe
    24. Februar 2021, 09:18:26 von parrotsnature
    3 Antworten
    3535 Aufrufe
    12. Dezember 2011, 15:51:28 von Schwerkraft