Perl/ActivePerl For UNIX/Linux/Windows
 
TryThe Homepage
初めてのCGI
CGI 研究室
ダイナミックCGI
ダウンロード
サービス
サーバ構築(Windows)
データベースアクセス
有料サービス
FAQ
お問い合わせ
このページを印刷
郵便番号検索エンジン
約122,000件にも及ぶ郵便番号情報から住所または、市区町村名の一部を指定して郵便番号を検索します。 当サイトの自社SQLサーバを使用しますので、データベースの領域や、設定の必要もありません。

※サーバメンテナンス日はアクセスできない場合があります。
ご住所
※郵便番号を入力して住所を張り付けられます。

※住所の一部を指定して郵便番号を張り付けられます。
検索だけで良ければ、このようなインターフェースもご自由にお使いいただいて結構です。
  インターフェースCGI
データベースと検索エンジンは自社SQLサーバで提供しますが、 検索結果を表示するインターフェースは、ご利用いただくサーバー毎に設置していただく必要が有ります。
参照だけなら、インターフェースも1つ設置してどこからでも検索できますが、 検索結果を張り付ける為には同じサーバにインターフェースが無ければJavaScriptはエラーになります。 これもセキュリティーの為で、1つのサイトに1つのCGIを設置する必要が有ります。
  1. CGIのダウンロード
    インターフェース一式(zipdb.zip)をダウンロードします。
    汎用ライブラリperl-libも最新版が必要ですので別途ダウンロードしてください。
  2. CGIの設置
    zipdb.zipを解凍すると最低限度必要な画像を格納したディレクトリ「images」と インターフェースCGIが2つ(ip.cgi、pip.cgi)有ります。 これらをディレクトリ構造はそのままにCGIが実行可能なサーバにアップロードします。 別途ダウンロードしたperl-lib.plはどこに設置しても結構ですが、cgi内のパスを設定してください。
    【例】
    [public_html]
        └[cgi-bin]
            └[finfzip]
                ├[images]
                ├ip.cgi
                ├pip.cgi
                ├perl-lib.pl
                └jcode.pl
  ページの作成
CGIの設置は比較的簡単でしたね。
このインターフェースはダイナミックHTMLを使用して、ウィンドウを完全に制御する最先端の物です。 したがって、どちらかと言えばCGIよりページの作成が厄介かも知れません。
【都道府県と市区町村が1つのフィールドの場合】
  1. bodyタグにイベントを追加
    <body onUnload='ZipClose();'>
    このイベントは、ブラウザが閉じられるか、他のページに移動すると発生し、
    この時、郵便番号検索ウィンドウが開いていれば自動で閉じるよう指示します。

  2. form を作成する
    <form action=formmail.cgi name=form method=POST>
    重要なのはフォームの名称です。自由に付ける事が出来ますが、半角英数字です。
    多くのホームページ作成ソフトが省略しますので、必ず設定してください。

  3. 郵便番号用テキストボックス
    〒<input name="〒" type=text id=postno size=10>
    フィールド名(name)とは別に識別子(id)を設定します。
    name は日本語でも結構ですがid は半角英数でなければなりません。

  4. 住所用テキストボックス
    <input name="ご住所" type=text id=addr size=48>
    こちらも郵便番号同様、識別子(id)を設定します。

  5. JavaScriptを記述する
    ドキュメントの最後との間に次のJavaScriptを追加します。
    <SCRIPT>
      var zipwin;
      function ZipWindow(flag){
        if (!zipwin || zipwin.closed) { zipwin=window.open('','','width=420,height=128,left=0,top=0'); }
        if (flag==1) {
          zipwin.location.href= 'cgi-bin/finfzip/ip.cgi?ambiguous=1&pf=form.postno &af=form.addr&key='+ document.form.addr.value
        } else {
          zipwin.location.href= 'cgi-bin/findzip/ip.cgi?af=form.addr&key= '+document.form.postno.value
        }
      }
      function ZipClose(){
        if (zipwin && !zipwin.closed) { zipwin.close(); }
      }
    </SCRIPT>

  6. 郵便番号から住所を検索ボタン
    <input type="button" value="▼ 住所検索" onclick="ZipWindow(0);">
    JavaScriptを別途記述していますので、ボタンは作成した関数を呼び出すだけです。
    引数(0)は、郵便番号から住所を検索するフラグです。

  7. 住所から郵便番を検索ボタン
    <input type=button value="▲ 〒検索" onclick="ZipWindow(1)">
    住所から郵便番号を検索する場合は、引数に(1)を指定します。

  8. サンプルHTMLはこちらからダウンロードできます。
     表示されたページのソースを表示し、[名前を付け保存]してください。

【都道府県が独立している場合】
  1. 都道府県ドロップダウンリスト
    郵便番号テキストボックスと住所テキストボックスの間に都道府県ドロップダウンリストを追加します。
    <select name="都道府県" id=pre size=1>
      <option value="">-- 都道府県 --</option>
      <option value="北海道">北海道</option>
      <option value="青森県">青森県</option>
      <option value="岩手県">岩手県</option>
      -------------- 中 略 --------------
      <option value="宮崎県">宮崎県</option>
      <option value="鹿児島県">鹿児島県</option>
      <option value="沖縄県">沖縄県</option>
    </select>

  2. JavaScriptを追加
    検索エンジンを呼び出すJavaScript、ZipWindow関数に都道府県の識別子[pre]を追加しなければなりません。
    詳しくは、以下のサンプルをダウンロードしてご確認ください。

  3. サンプルHTMLはこちらからダウンロードできます。
      表示されたページのソースを表示し、[名前を付け保存]してください。
  ポップアップの非表示
MySQLの解説ページのようにCGIに組み込み ポップアップウィンドウを表示しないでデータベースにアクセスする事もできます。
この場合は、インターフェース用CGIを設置する必要は有りませんが、 アンケートページをCGIで作成する必要があります。また、検索方法も郵便番号からの完全一致になります。
JavaScriptを記述する必要が有りませんので、Perlがお分かりの方はこちらが便利かもしれません。
1つのサイトで、複数のフォームが有る場合はポップアップ、1つしか無い場合はCGI形式がベストでしょうか。

サンプルはこちら
サンプルのコードはこちら
サンプルコードがブラウザに表示される場合は、ソースを表示して保存してください。
Copyright 2004 Terra. All rights reserved. No reproduction or republication without written