6

過去の私のウェブサイトのほとんどは、住所の表示に関してはかなり米国に限定されていました。私が現在取り組んでいるプロジェクトでは、しかし、ユーザーは世界中からのイベントを追加することができます。私の問題は、世界中で住所が表示されるさまざまな方法にどう対処するかです。たとえば、City / State/Zipは単なる米国のものです。

選択した国に基づいて表示される入力を変更することを考えていましたが、すべての国がどのように対処するかをどのように知る必要があるのか​​わかりません。

アイデア?

4

4 に答える 4

2

まず第一に、あなたが義務化するものに注意してください。「郵便番号には数字のみが含まれている必要があります」などの検証は使用しないでください。

次に、最小限のフィールド(国、都市、郵便番号、住所用の2行)が必要です。

たとえば、世界中に配達されているこの本の注文サイトをチェックしてください。バスケットに本を入れてチェックアウトに向かい、https ://securepayment.bookdepository.co.uk/checkout/summaryをご覧ください。

于 2010-05-20T00:09:33.620 に答える
2

このウェブサイトをチェックしてください、それはすべての国のためのアドレスフォーマットの情報を持っています、あなたはそれを参照として使うことができます。国際住所フォーマット

于 2010-05-20T00:11:47.093 に答える
1

私の見方では、2つの選択肢があります。

1-すべての国が住所を表示する方法を見つけ、それぞれのテンプレートを作成します

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

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

formatは、国を1つのフォーマットにマップし、複数の国が同じフォーマットを持つことを可能にします。

2-一般的な方法ですべてのアドレスを表示します。

<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>
于 2010-05-20T00:30:12.633 に答える
0

私が考えることができる2つの解決策は次のとおりです。

  1. [複雑]国に基づいて住所要件を変更します。
  2. [シンプル]国のドロップダウンと、ユーザーが希望するアドレスを入力できるアドレスフィールドを1つだけ持つだけで、そのフィールドの内容を表示するだけです。

アドレスを複数のフィールドに分割する必要が本当にない限り、アドレス全体を1つのフィールドに格納する簡単な方法が最適だと思います。もちろん、これは、アドレステーブルが正規化されず、ユーザーが入力したアドレスを検証できないことを意味します。ただし、コードの設計によっては、検証もかなり複雑になります。しかし、これは使いやすさ、デザイン、複雑さの間のバランスを取る行為です。

お役に立てれば。

于 2010-05-20T00:37:52.317 に答える