이전에 작성했던 내용인데.. 이것을 회원정보수정에서 적용하고 싶으신 분이 계셔서.. 이곳에 글을 올립니다..
이제... 전화번호통합하는 것만 팁란에 올리면 제가 회원가입에 대해 올리려던 팁은 모두 완료네요...
사이트에 작성한게 있지만... 오늘은 일단 이것만올리겠습니다...

다시 쓰려니 귀찮아서 이번에도 사이트에 조금전 작성한 것을 복사해서 넣습니다........
회원가입 주소입력변경하기.. 는 아래 쭉 가시면 있으며...
링크는  http://www.zeroboard.com/zb4_tip/16045712

중요한 것이 있는데.... 기존에 회원이 많으신분들이 사용할 경우 조금 문제가 있는데.... 아래의 내용은 주소를 저장할때
우편번호)첫번째주소-두번째주소와 같이 괄호와 언더바를이용하여 각구분자를 넣어주어서... DB에 저장합니다...
하지만 옛날부터 제로보드4를 사용하신분들은 위의 형식대로 저장이되어있지 않기때문에..... 회원이 정보수정페이지이동시...
주소부분이비어있을 것입니다.... 따라서 회원수가 많거나 하신분들은 사용하시면 불편할것 같다라는 생각이 들고... 새로 사이트를
만드시는 분이나..... 공부차원에서 소스를 원리(간단하지만..)알고 싶으신분들...회원수가 적어서 각 회원의 주소를 위의 형식으로 직접수정하실분들에게 추천합니다..^^



이전에 회원가입부분의 주소부분을 집/회사 를 선택하여 작성하는 것에 대해 말씀드린 적이 있습니다...
그때 당시 글 작성하며... 정보수정페이지에서 적용하시려는 분들도 있겠구나라는 생각만 하고 더이상에 관련내용을 작성하지 않았는데..
이번에 전화번호/이메일 등등 주소변경작업과 비슷한 작업을 하면서 주소부분을 회원가입페이지에서와 같이 정보수정페이지에서도 동일하게 나타내는 법에 대해 알려드리고자 이렇게 몇자 적어봅니다... 아래의 전화번호통합에 대해 글을 읽어보신 분들은 어느 정도 감을 잡으셨을것 같네요.. 원리 및 구성은 거의 동일합니다.. 다만 해당변수만 달라지게 되는 것입니다..

수정파일 목록
member_modify
member_modify_ok

1. member_modify
아래의 굵은 부분을 추가해줍니다..

 if($member[home_address]!="") {
  $address = explode(")",$member[home_address]);
  $address_dex = explode("-",$address[1]);
  $address_home_check =  "checked=\"checked\"";
  $address_open_check = $check[$member[open_home_address]];
 } else if ($member[office_address]!="") {
  $address = explode(")",$member[office_address]);
  $address_dex = explode("-",$address[1]); 
  $address_office_check =  "checked=\"checked\"";
  $address_open_check = $check[$member[open_office_address]];
 }


// 그룹데이타 읽어오기;;
 $group_data=mysql_fetch_array(mysql_query("select * from $group_table where no='$member[group_no]'"));
 $group=$group_data;
 $group_no=$group[no];
기존의주소입력부분을(집주소/회사주소)를 삭제하시고 아래의 것으로 대체하여줍니다... 테이블은 자신에 맞게 수정해주시면 됩니다.
<? if($group[use_home_address] && $group[use_office_address]) { ?> 
 <input type="text" name="address1" value="<?=$address[0]?>" size="16" class="input" readonly="readonly" />
 <input name="addr_type" type="radio" value="1" <?=$address_home_check?> /> 자택  
 <input name="addr_type" type="radio" value="2" <?=$address_office_check?> /> 회사  
 <span class="button"><input type="button" value="주소검색" onclick="address_popup(1)" /></span><br />
 <input type="text" name="address2" value="<?=$address_dex[0]?>" size="25"  class="input" readonly="readonly" />
 <input type="text" name="address3" value="<?=$address_dex[1]?>" size="26"  class="input" readonly="readonly" />
 <input type="hidden" value="1"  name="open_address" <?=$address_open_check?> />
<? } ?>
위의 첫번째 소스부분은 explode함수를 이용하여 저장된 주소를 쪼개는 것입니다... member_modify_ok에서 주소를 저장할때 우편번호)첫번째-두번째
와 같이 ) 괄호와 - 언더바를 이용하여 3부류로 나누어저장하게 해놓았습니다..(아래의 소스참조) 그렇게 저장된 소스를 쪼갠 것이며 기타 집주소 or 회사주소에 대한 정보가 DB에 있다!! 없다!!를 따져서 불러온 정보가 집주소인지 회사주소인지... 라디어버튼에 체크되게 하기 위한 변수등이있습니다..

두번째 부분은 이제 주소입력부분입니다.... 이때 중요한 것이 있는데... 반드시 이전에 작성했던 회원가입주소변경하는 곳에서 우편번호검색에 대한 자료를 다운로드 받은후 계정에 업로드 하셨어야합니다.... 그래야만이 주소검색 후 검색된 내용이 자바스크립트오류없이 각각의 입력폼에 위치되게됩니다..... 기타 각각 입력폼에는 첫번째 소스에서 쪼갠 값이 value값으로 들어가게되어있습니다.... 또... 특별한건.. 음.... 각 입력폼이 readonly이므로... 검색후 결과가 들어갈뿐 직접입력할수 없게해놓았습니다..

2. member_modify_ok
아래의 굵은 부분을 추가해줍니다.
 // 주소선택
 if ($addr_type=="1") {
  $home_address = $address1.")".$address2."-".$address3;
  $office_address = "";
  $open_home_address = $open_address;
 
  } else {
  $home_address = "";
  $office_address = $address1.")".$address2."-".$address3;
  $open_office_address = $open_address;
 }


 $name = addslashes(del_html($name));
 $job = addslashes(del_html($job));
 $email = addslashes(del_html($email));


위의 소스는 이제... 앞에서 작성한 정보를 저장하는 내용인데..... 작성한 정보가 집주소인지..!! 회사주소인지..!!를 판별하여.. 그에 해당하는 변수에 값을 넣어준것입니다...... 위의 작업까지 완료하셨다면 이제 모든 작업은 완료된것입니다..... 이 번팁에서 가장 중요한 것은 주소검색자바스크립트를 이전팁내용에서 다운로드 받으신 후 계정에 업로드 하셔야한다는 것입니다... 그외 특별히 어려운 것은 없으니 천천히 따라하시기 바랍니다...

추가 : 이전 자료를 찾기 힘드신 분들을 위해.. 아래 자료를 업로드하였으니... 이곳에서 다운로드 받으셔도됩니다..