Bankdaten werden bei Zahlung mit Banktransfer nicht gespeichert
Bei einigen wenigen Systemen kann es zu dem Problem kommen, dass die Zahlungsdaten des Kunden bei einer Zahlung mittels Banktranfer nicht bei der Bestellung gespeichert werden.
Lösung
Das Problem liegt in der Verwendung der Variable $PHP_SELF in der xt:Commerce Datei /includes/classes/payment.php. Früher wurde diese Variable genutzt, um den aktuellen Skriptnamen zu speichern. Diese Superglobale Variable wird in neuen PHP Versionen nicht mehr automatisch angeboten, da der Parameter register_globals standardmäsig den Wert "off" hat.
Um die Banktransfer-Daten zu speichern, ist eine kleine Änderung in der Datei /includes/classes/payment.php nötig. Öffnen Sie diese Datei mit einem geeigneten Editor und fügen Sie die Zeile "$PHP_SELF = $_SERVER['PHP_SELF'];" an der nachstehend angeführten Stelle ein:
class payment { var $modules, $selected_module; // class constructor function payment($module = '') { global $PHP_SELF,$order; // HIER DIE VARIABLE NEU ZUWEISEN // (NEUE ZEILE EINFÜGEN) $PHP_SELF = $_SERVER['PHP_SELF']; if (defined('MODULE_PAYMENT_INSTALLED') && xtc_not_null(MODULE_PAYMENT_INSTALLED)) {
Nachdem Sie diese Änderungen durchgeführt haben, speichern Sie die Datei und laden Sie sie wieder auf Ihren Shop-Server. Die Banktransfer-Daten werden nun wieder wie gewohnt gespeichert.




















