회원정보수정에서 주민번호 수정가능하기 및 보여주기 > 그누3 팁자료실

그누3 팁자료실

회원정보수정에서 주민번호 수정가능하기 및 보여주기 정보

그누호환 회원정보수정에서 주민번호 수정가능하기 및 보여주기

본문

★★★ 죄송합니다...6월27일오후다섯시이전에 이팁을 읽고 응용하셨다면 아래내용으로 재수정하세요. 코드 수정에 약간의 문제가 있었습니다.★★★


졸지에...문제해결하려다가 팁아닌 팁이 되어 버렸군요....
혹시, 저처럼 사용하길 원하는 분이 있을까봐...작업한김에 올려놓습니다.

[팁의 목적과 관련하여 주의사항]
사실, 일반호스팅상에서 이걸 사용한다는건 몇가지 문제가 있을수 있습니다.
호스팅업체를 믿고 임대해서 홈피를 운영하는것이긴 하지만,
개인정보..특히, 주민번호를 패스워드화 시키지 않고 관리한다는건 약간의 문제가 될수도 있을테니
필요하신분만 이용을 하세요.

- 제가 이걸 사용하는 이유는, 학습사이트인데
학생과 선생님 그리고 연령별로 맞춤컨텐츠를 제작중인데 주민번호를 확인하지 않고는
회원별로 그 구분을 어떻게 처리할 방법이 없어서 부득이 이런 팁을 만들게 되었습니다.
처음부터 '주민번호'를 입력받았으면 문제가 안되는데, 회원이 100명이 넘고나서
리뉴얼 작업을 하려고 하다보니...그렇게 되었습니다.

따라서,
- 기존에 '주민번호'를 입력받지 않고 회원가입을 받다가 그 부분을 추가할경우나
- 입력된 주민번호를 기준으로 연령별로 관리자가 확인후 컨텐츠를 구성할 필요가 있는경우,
- 회원정보수정에서 본인의 주민번호를 확인 or 재입력가능하게 할 경우..등등...
위 같은 필요성이 있을경우 사용하세요.

수정파일및 내용은 아래와 같습니다.....
★ 중요한건 주민번호를 암호화시켜 저장하게 되면, 불러올때 깨지므로 반드시 해제해야 하며
아래처럼 mbupdate.php에서 수정됩니다.




★ 수정해야할 파일 (3)
/member skin폴더 -> mbform.skin.php
/bbs 폴더  -> mbform.php, mbupdate.php

★ 파일별 수정내용
-------------------
1. mbform.skin.php
-------------------
<? if ($is_jumin) { ?>
<tr><td colspan=2 background='<?=$member_skin?>/dotline.gif' height=1></td></tr>
<tr>
    <td class=ct>주민등록번호 <font color=red>*</font></td>
    <td>  <input type=text class=is name='mb_jumin' size=13 maxlength=13 minlength=13 required jumin itemname='주민등록번호'> <font color=#009900> - 없이 숫자만 입력하세요.</font></td>
</tr>
<? } ?>

위 "주민등록번호" 입력처리 부분을 아래와 같이 수정처리.

<? if ($is_jumin || $default[de_use_jumin]) { ?>
<tr><td colspan=2 background='<?=$member_skin?>/dotline.gif' height=1></td></tr>
<tr>
    <td class=ct>주민등록번호 <font color=red>*</font></td>
    <td>  <input type=text class=is name='mb_jumin' size=13 maxlength=13 minlength=13 value='<?=$mb_jumin?>' required jumin itemname='주민등록번호'> <font color=#009900> - 없이 숫자만 입력하세요.</font></td>
</tr>
<? } ?>



-------------------
2. mbform.php
-------------------
▶ 43라인,60라인 추가및 삭제
//------------------------------ 추가 //######### 회원정보창에서 주민번호및 출력및 수정
$is_jumin = false;
if ($default[de_use_jumin]) {
    $is_jumin = true;
    $mb_jumin = $member[mb_jumin];
}
//------------------------------ 추가

$is_email = false;
if ($default[de_use_email]) {
    $is_email = true;
    $mb_email = $member[mb_email];
}

$is_homepage = false;
if ($default[de_use_homepage]) {
    $is_homepage = true;
    $mb_homepage = $member[mb_homepage];
}

//----------------------------- 삭제
//$is_jumin = false;
//if ($w == '' && $default[de_use_jumin]) {
//if ($default[de_use_jumin]) {   
//    $is_jumin = true;
//}
//------------------------------ 삭제


-------------------
3. mbupdate.php
-------------------
▶ 원소스파일의 라인 68번줄 부근

$sql_common = " mb_name        = '$mb_name',
                mb_passwd_q    = '$mb_passwd_q',
                mb_passwd_a    = '$mb_passwd_a',
                mb_profile      = '$mb_profile',
                mb_open        = '$mb_open',
                mb_mailling    = '$mb_mailling'
                /* , mb_today_login  = '$now' 3.34 주석처리 */ ";
if (isset($mb_jumin))      { $sql_common .= " , mb_jumin      = '$mb_jumin' "; }  //-########### 추가 : 주민번호 db 입력처리
if (isset($mb_email))      { $sql_common .= " , mb_email      = '$mb_email' "; }
if (isset($mb_homepage))  { $sql_common .= " , mb_homepage  = '$mb_homepage' "; }
if (isset($mb_tel))        { $sql_common .= " , mb_tel        = '$mb_tel' "; }
if (isset($mb_hp))        { $sql_common .= " , mb_hp        = '$mb_hp' "; }
if (isset($mb_zip1))      { $sql_common .= " , mb_zip1      = '$mb_zip1' "; }
if (isset($mb_zip2))      { $sql_common .= " , mb_zip2      = '$mb_zip2' "; }
if (isset($mb_addr1))      { $sql_common .= " , mb_addr1      = '$mb_addr1' "; }
If (isset($mb_addr2))      { $sql_common .= " , mb_addr2      = '$mb_addr2' "; }
If (isset($mb_sex))        { $sql_common .= " , mb_sex        = '$mb_sex' "; }
If (isset($mb_birth))      { $sql_common .= " , mb_birth      = '$mb_birth' "; }
If (isset($mb_married))    { $sql_common .= " , mb_married    = '$mb_married' "; }
If (isset($mb_wedding))    { $sql_common .= " , mb_wedding    = '$mb_wedding' "; }
If (isset($mb_signature))  { $sql_common .= " , mb_signature  = '$mb_signature' "; }


▶ 원소스파일의 라인 99번줄 부근

    if ($default[de_use_jumin])
    //  $sql .= " $condition mb_jumin = PASSWORD('$mb_jumin') ";
          $sql .= " $condition mb_jumin = '$mb_jumin' "; //-####### 주민등록번호 암호화처리 안함


▶ 라인 128번줄 삭제

    $sql = " insert into $cfg[table_member]
                set mb_id        = '$mb_id',
                    mb_passwd    = PASSWORD('$mb_passwd'),
                    mb_datetime  = '$now',
                    mb_ip        = '$REMOTE_ADDR',
                    mb_level    = '$default[de_register_level]',
                    mb_recommend = '$mb_recommend',
                    mb_size      = '$cfg[image_upload_size]',
                    mb_login_ip  = '$REMOTE_ADDR',
                    $sql_common ";
    if ($default[de_use_jumin])
      //  $sql .= " , mb_jumin = PASSWORD('$mb_jumin') "; //-######### 회원가입시, 중복처리 오류 : 삭제



위 세개의 파일을 위처럼 하고 나면 회원로그인후, 정보수정에서
- 자신의 주민번호를 확인&수정 가능하고
- 이전에 주민번호를 입력하지 않읂 회원도 정보수정에서 입력처리가 가능합니다.

--------------------------------------------------------------------------

[후기]
...사실, 이미 입력한 주민번호를 임의로 수정할수 없게 만들어야 하는데,
수정모드에서 입력이 가능하도록 한것은
기존의 회원들의 경우는 주민번호를 입력하지 않았기 때문에 정보수정모드에서 입력할수있도록
하기위해 그렇게 만든것입니다..
이미 입력된 주민번호는 더이상 입력이 안되도록 처리할수 있는 방법이 있을텐데..아직 실력이 안되서....

★ 관심있으신 분이 계시다면, 한번 시도해봐주시기 바라며 또한 주민번호를 불러올때 뒷자리 7개는 '*******' 이렇게 땡땡이 처리되도록 할수 있으면 좋을거 같군요.


필요하신분은 사용하시길 바라며,
참고로 관리자가 확인하는 방법은 /admin/memberform.php에 다가 아래의 내용을 알맞은 위치에 넣어두시면 회원의 연령을 주민번호로 확인하실수 있습니다.


<tr>
    <td>주민번호</td>
    <td colspan=3><input type=text class=input name=mb_jumin size=13 maxlength=13 value='<? echo $mb[mb_jumin] ?>' readonly>&nbsp;<font color=orange>보이지 않는경우는 미입력상태임</font></td>
</tr>
추천
0
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로