index.phpのブラウザで表示した郵便番号を入力して送信ボタンを押したのち、KEN.CSVファイルの統計データより住所を自動的に
「住所:OOO」に表示するプログラムを作成したいです。
Htmlの表示、郵便検索のfunction定義、index.phpからAddressResearch.phpへの遷移まではできたと思っているのですが、
functionの呼び出しと実際の住所を表示するプログラムまでが構築できておらず、ただ遷移しただけになってます。
functionで計算した戻り値をindex.phpに表示させる必要があると思うのですが、あまりうまくいってない状況です。
これから実際にindex.php画面の「住所:OOO」と表示させるためにはどのようなコードを追加もしくは修正すればうまく回りますでしょうか?
お手数おかけしますが、ご教授お願いしたくよろしくお願い致します。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
住所データのリンク先(https://www.post.japanpost.jp/zipcode/dl/oogaki-zip.html)
作成したいプログラム:郵便番号(7桁)で検索し、ヒットした行の7.都道府県名、8.市区町村名、9.町域名を表示する。
index.php <?php require_once('AdressResearch.php'); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>住所検索プログラム</title> </head> <body> <div id="Container"> <form id="sample" method="get" action="AdressResearch.php"> 郵便番号: <input name="param" id="param" type="text" maxlength="7" size="7" pattern="^[0-9]{7}$"> <input type="submit" id="submit" value="送信"> </form> <div id="result" style="min-height: 24px; opacity: 1; visibility: visible;"> <p>住所:<?php echo getAddress() ?></p> </div> </div> </body> </html>
AddressResearch.php <?php //郵便番号の取得 $postnum=$_GET["param"]; function getAddress($postnum) { // 郵便番号CSV Open $file_name = 'KEN_ALL.CSV'; $fp = @fopen($file_name, 'r'); $i = 0; while (($data = fgetcsv($fp, 200, ',')) !== FALSE) { //fgetcsv( ファイルハンドル,(サイズ,区切り文字,囲み文字 )) // 郵便番号 $post[$i]['postnum'] = $data[2]; if ($postnum == $post[$i]['postnum']) { // 都道府県 $post[$i]['state'] = mb_convert_encoding($data[6], 'UTF-8', 'SJIS'); // 市区町村 $post[$i]['city'] = mb_convert_encoding($data[7], 'UTF-8', 'SJIS'); // 町名 $post[$i]['street'] = mb_convert_encoding($data[8], 'UTF-8', 'SJIS'); // 半角英数字へ置換 $post[$i]['street'] = mb_convert_kana($data[$i]['street'], 'a', 'UTF-8'); // 以下に掲載がない場合、(次のビルを除く)(地階・階層不明)などを削除 $post[$i]['street'] = preg_replace('/以下に掲載がない場合|(.*)/', '', $data[$i]['street']); return $post[$i]; } $i++; } fclose($fp); } ?>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/07 11:42
退会済みユーザー
2020/07/07 12:51
退会済みユーザー
2020/07/07 13:18
退会済みユーザー
2020/07/07 13:26