Was ist der beste Weg, um mit Adresseingaben beschäftigen, die aus mehreren Ländern sein können?

StackOverflow https://stackoverflow.com/questions/2870261

Frage

Die meisten meiner Websites in der Vergangenheit eher wurden in den Vereinigten Staaten beschränkt, wenn es um die Anzeige Adressen kommt. An einem Projekt im Augenblick arbeite ich jedoch können Benutzer Ereignisse aus der ganzen Welt hinzufügen. Mein Problem ist, wie über den Umgang mit dem anderen Weg zu gehen, in den Adressen auf der ganzen Welt angezeigt werden. Zum Beispiel ist die Stadt / Region / Zip nur US Sache.

Ich war herauszufinden, ich würde die Eingänge ändern angezeigt basierend auf dem ausgewählten Land, aber ich habe keine Ahnung, wie ich soll die Art und Weise jedes einzelne Land Adressen tut kennen.

Ideen?

War es hilfreich?

Lösung

Zunächst einmal vorsichtig sein mit dem, was Sie obligatorisch machen. Verwenden Sie keine Validierungen wie „Postleitzahl darf nur Zahlen enthalten“.

Dann sollten Sie eine minimale Menge von Feldern haben -. Land, Stadt, Postleitzahl und 2 Zeilen für Adresse

Schauen Sie sich zum Beispiel dieses Buch Bestellseite mit weltweiter Lieferung. Setzen Sie ein Buch in der Warenkorb und Kopf zur Kasse zu sehen: https://securepayment.bookdepository.co .uk / Kasse / Zusammenfassung

Andere Tipps

Überprüfen Sie diese Seite aus, es Informationen von Adressformat für alle Länder hat, können Sie es als Referenz verwenden können. Internationale Adressformate

So wie ich es sehe, Sie haben 2 Möglichkeiten:

1 - finden, wie jedes Land zeigt ihre Adressen und eine Vorlage für jeden

erstellen
$address1='23 main st';
$city='New York';
$state='NY';
$postalcode='10000';
$country='US';

include("address_format_" . $formats[$country]  . ".php");

Formate ein Land in ein Format abbilden würde, für mehrere Länder erlauben das gleiche Format zu haben.

2 - Anzeige aller Adressen in allgemeiner Weise:

<address>
<?php if($address1): ?>Address: <?php echo $address1 ?><br><?php endif; ?>
<?php if($city): ?>City: <?php echo $city ?><br><?php endif; ?>
<?php if($state): ?>State: <?php echo $state ?><br><?php endif; ?>
<?php if($postalcode): ?>Postal Code: <?php echo $postalcode ?><br><?php endif; ?>
</address>

Zwei Lösungen, die ich denken kann, sind:

  1. [Complex] Adresse ändern Anforderungen basierend auf dem Land.
  2. [Einfach] Nur ein Land Dropdown hat und nur ein Adressfeld, wo der Benutzer die Adresse eingeben kann aber er / sie möchte dann nur den Inhalt dieses Feldes angezeigt werden soll.

Wenn Sie wirklich die Adresse benötigen, aufgeteilt in mehrere Felder zu sein, glaube ich, dass die einfache Methode, die gesamte Adresse in einem Feld zu speichern könnte am besten sein. Natürlich bedeutet dies, dass Ihre Adresstabelle nicht normalisiert werden, und Sie werden nicht in der Lage sein, um die Adresse zu bestätigen durch den vom Benutzer eingegebenen obwohl Validierung auch ziemlich komplex sein würde je nach Ausführung des Codes. Aber dies ist ein Balanceakt zwischen Usability, Design und Komplexität.

Hope, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top