Birden fazla ülkeden olabilir adres girişleri ile başa çıkmak için en iyi yolu nedir?

4 Cevap php

Bu adreslerini gösteren geldiğinde geçmişte benim web sitelerinin çoğu oldukça ABD ile sınırlı kalmıştır. Ben şu anda üzerinde çalışıyorum bir proje, ancak, kullanıcıların tüm dünyadan gelen olayları ekleyebilirsiniz. Benim sorunum adresleri dünya çapında görüntülendiği farklı bir yol ile ilgili hakkında gitmek nasıl olduğunu. Örneğin, İl / Eyalet / Zip sadece bir ABD şeydir.

Ben seçilen ülkeye göre görüntülenen girişlerini değiştirecek endam ama ben her ülkenin adreslerini yapar yolu bilmek alacağımı nasıl hiçbir fikrim yok.

Fikirler?

4 Cevap

Her şeyden önce zorunlu yapmak ne ile dikkatli olun. "Posta kodu sadece numaraları bulunmalıdır" gibi doğrulamaları kullanmayın.

Adres için ülke, şehir, posta kodu, ve 2 çizgileri - Sonra, bir asgari alanları miktarda olmalıdır.

Örneğin dünya çapında teslimat ile bu kitap sipariş sitesine göz atın. Görmek için çıkış için sepet ve kafasındaki bir kitap koyun: https://securepayment.bookdepository.co.uk/checkout/summary

Bu web sitesini kontrol edin, tüm ülkeler için adres biçimi bilgi var, bir referans olarak kullanabilirsiniz. International Address Formats

Onu görüyorum yolu 2 seçeneğiniz var:

1 - Her ülke kendi adreslerini görüntüler nasıl bulmak ve her biri için bir şablon oluşturmak

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

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

biçimleri aynı formata sahip birden fazla ülkeler için izin veren bir biçime bir ülke haritası olacaktır.

2 - genel bir şekilde tüm adresleri görüntüler:

<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>

Aklıma iki çözüm vardır:

  1. [Kompleksi] ülkeye göre adres değişikliği gereksinimleri.
  2. [Basit] Sadece bir ülke açılan ve kullanıcı ancak o / o sadece o alanın içeriğini görüntülemek istediğiniz adresi girebilirsiniz sadece bir adres alanı var.

Eğer gerçekten adresi birden fazla alana bölmek gerekir sürece, ben bir alandaki tüm adresi depolama basit bir yöntem iyi olabilir inanıyoruz. Tabii ki, bu adres tablosu normalize olmayacak ve siz de doğrulama kodunuzu tasarımına bağlı olarak oldukça karmaşık olacağını kullanıcı-gerçi tarafından girilen adresi doğrulamak mümkün olmayacak demektir. Ancak, bu kullanılabilirlik, tasarım ve karmaşıklık arasında bir denge olduğunu.

Umarım bu yardımcı olur.