Index: branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php (revision 21596)
+++ branches/version-2_12-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php (revision 21679)
@@ -96,4 +96,29 @@
// 確認
case 'confirm':
+ if(isset($_POST['submit_address'])){
+ // 入力エラーチェック
+ $this->arrErr = $this->fnErrorCheck($_POST);
+ // 入力エラーの場合は終了
+ if (count($this->arrErr) == 0) {
+ // 郵便番号検索文作成
+ $zipcode = $_POST['zip01'] . $_POST['zip02'];
+
+ // 郵便番号検索
+ $arrAdsList = SC_Utils_Ex::sfGetAddress($zipcode);
+
+ // 郵便番号が発見された場合
+ if (!empty($arrAdsList)) {
+ $data['pref'] = $arrAdsList[0]['state'];
+ $data['addr01'] = $arrAdsList[0]['city']. $arrAdsList[0]['town'];
+ $objFormParam->setParam($data);
+
+ // 該当無し
+ } else {
+ $this->arrErr['zip01'] = '※該当する住所が見つかりませんでした。
';
+ }
+ }
+ $this->arrForm = $objFormParam->getHashArray();
+ break;
+ }
$this->arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam);
$this->arrForm = $objFormParam->getHashArray();
@@ -164,3 +189,47 @@
SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $customer_id);
}
+
+ /**
+ * 入力エラーのチェック.
+ *
+ * @param array $arrRequest リクエスト値($_GET)
+ * @return array $arrErr エラーメッセージ配列
+ */
+ function fnErrorCheck($arrRequest) {
+ // パラメーター管理クラス
+ $objFormParam = new SC_FormParam_Ex();
+ // パラメーター情報の初期化
+ $objFormParam->addParam('郵便番号1', 'zip01', ZIP01_LEN, 'n', array('EXIST_CHECK', 'NUM_COUNT_CHECK', 'NUM_CHECK'));
+ $objFormParam->addParam('郵便番号2', 'zip02', ZIP02_LEN, 'n', array('EXIST_CHECK', 'NUM_COUNT_CHECK', 'NUM_CHECK'));
+ // // リクエスト値をセット
+ $arrData['zip01'] = $arrRequest['zip01'];
+ $arrData['zip02'] = $arrRequest['zip02'];
+ $objFormParam->setParam($arrData);
+ // エラーチェック
+ $arrErr = $objFormParam->checkError();
+ // 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック
+ if (!$this->lfInputNameCheck($addData['zip01'])) {
+ $arrErr['zip01'] = '※ 入力形式が不正です。
';
+ }
+ if (!$this->lfInputNameCheck($arrdata['zip02'])) {
+ $arrErr['zip02'] = '※ 入力形式が不正です。
';
+ }
+
+ 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;
+ }
}