본문 바로가기

잡동사니

원데이넷 회원상세정보에 생년월일/성별 입력창 넣기

포럼게시판에서도 해당 정보를 보실 수 있습니다. : http://tindevil.com/bbs/viewtopic.php?id=9
============================================

관리자페이지 회원목록에서 해당 ID를 클릭하면 회원의 상세 정보화면이 표시됩니다.
하지만 그 화면에서는 생년월일과 성별을 조정할 수는 없습니다. 그것을 조정할 수 있도록 화면에 추가하는 방법을 알려드리겠습니다.

수정할 파일입니다.
/odprogram/odmanager/odmembers/od_modify.php  혹은
/mall/manager/members/modify.php 입니다.

sns, odt 파일형태에 따라서 폴더구조가 다릅니다.

해당 파일이 회원정보페이지입니다. 그중  전화번호가 표시되는곳이 있습니다.
전화번호가 3칸으로 입력을 받는형태이므로 생년월일은 생김새가 전화번호와 비슷합니다. 그러므로 전화번호 표시 소스를 복제해서 생년월일을 표시하도록 하겠습니다.

<tr>
    <td height="35" bgcolor="ececec" class="white" style="padding:5px;" height="31"><img src="../odimages/odmain/table_icon.gif" width="5" height="11" hspace="5">전화번호</td>
    <td bgcolor="FAFAFA" style="padding:5px;">
        &nbsp;<input type="text" name="tel1" class="border" size="7" maxlength="4" value="<?=$row[tel1]?>"> -
        <input type="text" name="tel2" class="border" size="7" maxlength="4" value="<?=$row[tel2]?>"> -
        <input type="text" name="tel3" class="border" size="7" maxlength="4" value="<?=$row[tel3]?>"></td>
</tr>
<tr>
    <td height="1" bgcolor="c0bebe"></td>
    <td height="1" bgcolor="D2D2D2"></td>
</tr>
<tr>
    <td height="7" bgcolor="FFFFFF"></td>
</tr>
<tr>
    <td height="1" bgcolor="c0bebe"></td>
    <td height="1" bgcolor="#D5D5D5"></td>
</tr>

위의 코드가 전화번호코드입니다.
그러므로 이곳위 에다가 생년월일을 표시하도록 하겠습니다.
생년월일의 필드가 birthy,birthm,birthd 입니다.

<tr>
    <td height="35" bgcolor="ececec" class="white" style="padding:5px;" height="31"><img src="../odimages/odmain/table_icon.gif" width="5" height="11" hspace="5">생년월일</td>
    <td bgcolor="FAFAFA" style="padding:5px;">
        &nbsp;<input type="text" name="birthy" class="border" size="7" maxlength="4" value="<?=$row[birthy]?>"> -
        <input type="text" name="birthm" class="border" size="7" maxlength="2" value="<?=$row[birthm]?>"> -
        <input type="text" name="birthd" class="border" size="7" maxlength="2" value="<?=$row[birthd]?>"></td>
</tr>
<tr>
    <td height="1" bgcolor="c0bebe"></td>
    <td height="1" bgcolor="D2D2D2"></td>
</tr>
<tr>
    <td height="7" bgcolor="FFFFFF"></td>
</tr>
<tr>
    <td height="1" bgcolor="c0bebe"></td>
    <td height="1" bgcolor="#D5D5D5"></td>
</tr>

년(4자리) 월/일(2자리)로 설정하였습니다. ^^ 비슷한 소스가 있으니 참쉽게 복제가 되는군요.
아무튼 이걸로 화면에 생년월일이 나오게됩니다. 전화번호 표시되는 윗줄에 넣어주면 문제없겠죠.

성별의경우에는 생긴형태가 라디오박스(1개만 선택하는 형태)입니다.

역시 이번에도 라디오박스가 사용된 소스를 복제해서 만들도록 합시다.

메일링가입서비스가 딱 성별에 사용하면맞도록 생겼네요 ^^;

<tr>
    <td height="35" bgcolor="ececec" class="white" style="padding:5px;" height="31"><img src="../odimages/odmain/table_icon.gif" width="5" height="11" hspace="5">메일링 수신</td>
    <td bgcolor="FAFAFA" style="padding:5px;">
        <input type="radio" name="mailling" value="Y" <?if($row[mailling]=="Y") echo" checked";?>>동의합니다.
        <input type="radio" name="mailling" value="N" <?if($row[mailling]=="N") echo" checked";?>>동의하지 않습니다.</td>
</tr>

메일링 바로위에 성별을 넣도록하죠 코드는 다음과 같습니다.

<tr>
    <td height="35" bgcolor="ececec" class="white" style="padding:5px;" height="31"><img src="../odimages/odmain/table_icon.gif" width="5" height="11" hspace="5">성별</td>
    <td bgcolor="FAFAFA" style="padding:5px;">
        <input type="radio" name="sex" value="M" <?if($row[sex]=="M") echo" checked";?>>남
        <input type="radio" name="sex" value="F" <?if($row[sex]=="F") echo" checked";?>>여</td>
</tr>

쉽죠?.. 성별의 필드명은 확인결과 sex 이더군요.. M=male  남 / F = femail 여 이렇게 저장이되는것을 디비에서 확인! ㅎㅎ
그값에 맞춰서 변경만 해주면됩니다.

위코드를 넣으면 화면에 성별과 생년월일이 추가될겁니다..  ^^ 물론 저장된 값이 정확히 표시될겁니다.

그러나!. 저장이 안될겁니다.! ^^? 당연하겠죠..아직 보여주는작업만 했으므로. 그럼 저장시에 해당 값이 저장되도록 해보겠습니다. 파일은 같은 파일입니다. 원데이넷 소스는 쿼리(명령)파일이 같은 파일에 있는경우도 꽤 있더라구요.. 같은 파일이라서 다른 파일 열 필요는 없겠지만  개인적으로는 파일은 분리되어있음이 좀더 낫지않아 싶습니다. 아무튼 같은 파일의 마지막부분에서 update 명령어를 찾을수 있습니다.


이 화면은 정보의 변경이 목적이니깐 insert 가 아닌 update 구문이 있습니다.

$result = mysql_query("UPDATE odtMember SET passwd='$passwd',repasswd='$repasswd',email='$email',zip1='$zip1',zip2='$zip2',address='$address',address1='$address1',tel1='$tel1',tel2='$tel2',tel3='$tel3',htel1='$htel1',htel2='$htel2',htel3='$htel3',job='$job',mailling='$mailling',recomid='$recomid',calendar='$calendar',birthy='$birthy',birthm='$birthm',birthd='$birthd',interest='$interest',marriage='$marriage',weddingy='$weddingy',weddingm='$weddingm',weddingd='$weddingd',finalsch='$finalsch',oname='$oname',ozip1='$ozip1',ozip2='$ozip2',oaddress='$oaddress',oaddress1='$oaddress1',otel1='$otel1',otel2='$otel2',otel3='$otel3',ofax1='$ofax1',ofax2='$ofax2',ofax3='$ofax3',odept='$odept',opost='$opost',mincome='$mincome',course='$course',point='$point',Mlevel='$Mlevel',action='$action' , sms='$sms' WHERE serialnum='$serialnum'");

쿼리가 바로보이는군요...여기서 테이블이 odtMember 라고 알수있습니다.  sns형태의 사용자는 snsMember 가 되겠군요.
테이블 이름이 바뀌었지 필드명은 같은것 같으니 적당히 쓰면되겠죠..
마지막에 birthy,birthm,birthd,sex 가 저장되도록 코드를 추가합시다.

$result = mysql_query("UPDATE odtMember SET passwd='$passwd',repasswd='$repasswd',email='$email',zip1='$zip1',zip2='$zip2',address='$address',address1='$address1',tel1='$tel1',tel2='$tel2',tel3='$tel3',htel1='$htel1',htel2='$htel2',htel3='$htel3',job='$job',mailling='$mailling',recomid='$recomid',calendar='$calendar',birthy='$birthy',birthm='$birthm',birthd='$birthd',interest='$interest',marriage='$marriage',weddingy='$weddingy',weddingm='$weddingm',weddingd='$weddingd',finalsch='$finalsch',oname='$oname',ozip1='$ozip1',ozip2='$ozip2',oaddress='$oaddress',oaddress1='$oaddress1',otel1='$otel1',otel2='$otel2',otel3='$otel3',ofax1='$ofax1',ofax2='$ofax2',ofax3='$ofax3',odept='$odept',opost='$opost',mincome='$mincome',course='$course',point='$point',Mlevel='$Mlevel',action='$action' , sms='$sms',birthy='$birthy',birthm='$birthm',birthd='$birthd',sex='$sex' WHERE serialnum='$serialnum'");

마지막에 4개가 추가되었습니다. 쿼리도 알고보면 쉽습니다.!.. 끝입니다.  ㅎ