Hallo,
webald
Zusätzlich muss in Deinem Fall unbedingt eine Validierung der Adressdaten her. Wenn ich als Land DE mit einer AT-Postleitzahl eingebe wird das vom Shop akzeptiert.
Das Problem hatten wir auch relativ häufig... Kunde aus AT bestellt und Länderauswahl wurde auf Deutschland gelassen, somit auch falsche Lieferkosten berechnet. Also Kunde anschreiben etc. etc.
Wir haben dann einen kurzen Check eingebaut und seither ist Ruhe. Ist natürlich keine Adressvalidierung, aber bei "Vertippern" oder "Huch, hab ich gar nicht drauf geachtet..." hat es bisher gut geholfen.
Überall wo Adressdaten eingetragen werden... z.B. creat_account.php oder creat_guest_account.php
gibt es folgende Passagen, die auf Mindesteingaben prüfen:
z.B.
if (strlen($city) < ENTRY_CITY_MIN_LENGTH
) { $error = true; $messageStack->add('create_account', ENTRY_CITY_ERROR
); }if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH
) { $error = true; $messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR
); } in diesen Block haben wir folgendes mit aufgenommen, bzw. ergänzt:
if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH
&& $country != '81') { // hier ergänzt: && $country != '81' $error = true; $messageStack->add('create_account', ENTRY_POST_CODE_ERROR
); } // neu dazu: Abfrage, ob PLZ bei Laenderwahl Deutschland 5-Stellig ist if (strlen($postcode) <> '5' && $country == '81') { $error = true; $messageStack->add('create_account', ENTRY_POST_CODE_GERMANY_ERROR
); } Den entsprechenden Error muss man dann natürlich noch in der jeweiligen Länder.php ergänzen.
Wie gesagt, natürlich keine Validierung, eher eine kleine Prüfung auf Plausibilität... aber vielleicht hilft es jemanden dennoch in diesem Zusammenhang.
Grüße
Frank