skip_load_page_layout = true; parent::init(); $this->tpl_message = '住所を検索しています。'; } /** * Page のプロセス. * * @return void */ function process() { // 入力エラーチェック $arrErr = $this->fnErrorCheck($_GET); // 入力エラーの場合は終了 if (count($arrErr) > 0) { $tpl_message = ''; foreach ($arrErr as $val) { $tpl_message .= preg_replace("/
/", "\n", $val); } echo $tpl_message; // エラー無し } else { // 郵便番号検索文作成 $zipcode = $_GET['zip1'] . $_GET['zip2']; // 郵便番号検索 $arrAdsList = SC_Utils_Ex::sfGetAddress($zipcode); // 郵便番号が発見された場合 if (!empty($arrAdsList)) { $data = $arrAdsList[0]['state']. '|'. $arrAdsList[0]['city']. '|'. $arrAdsList[0]['town']; echo $data; // 該当無し } else { echo '該当する住所が見つかりませんでした。'; } } } /** * 入力エラーのチェック. * * @param array $arrRequest リクエスト値($_GET) * @return array $arrErr エラーメッセージ配列 */ function fnErrorCheck($arrRequest) { // パラメーター管理クラス $objFormParam = new SC_FormParam_Ex(); // パラメーター情報の初期化 $objFormParam->addParam('郵便番号1', 'zip1', ZIP01_LEN, 'n', array('NUM_COUNT_CHECK', 'NUM_CHECK')); $objFormParam->addParam('郵便番号2', 'zip2', ZIP02_LEN, 'n', array('NUM_COUNT_CHECK', 'NUM_CHECK')); // // リクエスト値をセット $objFormParam->setParam($arrRequest); // エラーチェック $arrErr = $objFormParam->checkError(); // 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック if (!$this->lfInputNameCheck($arrRequest['input1'])) { $arrErr['input1'] = '※ 入力形式が不正です。
'; } if (!$this->lfInputNameCheck($arrRequest['input2'])) { $arrErr['input2'] = '※ 入力形式が不正です。
'; } return $arrErr; } /** * エラーチェック. * * @param string $value * @return エラーなし:true エラー:false */ function lfInputNameCheck($value) { // 半角英数字と_(アンダーバー), []以外の文字を使用していたらエラー if (strlen($value) > 0 && !preg_match("/^[a-zA-Z0-9_\[\]]+$/", $value)) { return false; } return true; } }