묻고답하기
자동추천 추가 하는 방법을 알고 싶습니다.
2009.05.02 21:28
주소입력 하면 자동으로 추천인이 적히도록 축가되는 소스 (P2P사이트 같은경우 추천 이벤트 같은거 )
---------------------------------------------------------------------------------------------------------------------------------------------
팁은 엔지오의 DEX 님의 팁입니다.
회원가입시 추천인을 받도록 하는 형태를 만들려고 합니다.
전체적인 구조는 위의 이미지처럼..
회원가입시 추천인ID를 받아서 해당 추천인이 있으면
추천인에게 점수를 100점 부여하고 추천인이 없으면 그냥 가입이 되구요...
또 만약 해당 회원이 탈퇴를 할시.. 추천인이 있었다면.. 그때 줬던 100점을 다시 빼야 겠죠..
■■ member_join.php 수정하기 ■■
음..
추천인이라는 항목을 새로 만드는것보다는
이미 있는 항목중에서 안쓰는 항목들.. (AOL이나.. ICQ같은...)중에서
하나를 수정해서 사용하도록 하겠습니다.
그래도 가장 안쓰는것이 AOL이죠?
그래서 AOL 항목을 수정해서 추천인을 받도록 만들겠습니다.
member_join.php파일을 에디터로 오픈하신후에..
265행쯤에 보시면
<? if($group[use_aol]) { ?>
<tr align=right height=28>
<td style=font-family:Tahoma;font-size:8pt;>AIM </td>
<td align=left> <input type=text name=aol size=20 maxlength=20 value="<?=$member[aol]?>" style=border-color:#d8b3b3 class="input>
<input type=checkbox value=1 name=open_aol checked> 공개</td>
</tr> <tr>
<td colspan="5" bgcolor="#EBD9D9" align="center"><img src="images/t.gif" width="10" height="1"></td>
</tr>
<? } ?>
이라는 구문이 있을겁니다.
이부분을 과감하게 삭제해주세요.
이부분이 AOL(AIM) 부분입니다.
그리고 나서
386행쯤에 보시면
<? if($group[use_comment]) { ?>
<tr align=right height=28>
<td style=font-family:Tahoma;font-size:8pt;>자기 소개서</td>
<td align=left> <textarea cols=50 rows=4 name=comment style=border-color:#d8b3b3 class="textarea><?=$member[comment]?></textarea><br>" <input type=checkbox value=1 name=open_comment checked> 공개</td>
</tr> <tr>
<td colspan="5" bgcolor="#EBD9D9" align="center"><img src="images/t.gif" width="10" height="1"></td>
</tr>
<? } ?>
이라는 부분이 있습니다.
그 부분 바로 아래에
다음의 내용을 넣어주세요.
<tr align=right height=28>
<td style=font-family:Tahoma;font-size:8pt;>추천인 ID </td>
<td align=left> <input type=text name=aol size=20 maxlength=20 value="<?=$member[aol]?>" style=border-color:#d8b3b3 class="input></td>
</tr>
<tr>
<td colspan="5" bgcolor="#EBD9D9" align="center"><img src="images/t.gif" width="10" height="1"></td>
</tr>
아까 삭제했던 AOL부분과 같습니다.
제목만 AIM대신에 추천인 ID라고 적었을뿐 입니다.
자 이렇게만 하시면 member_join.php파일을 다 수정하신겁니다.
■■ member_join_ok.php 수정하기 ■■
자 이제 추천인 ID 항목에서 받은 추천인이 있는지 체크를 하고
있다면 100점의 점수를 부여하도록 하겠습니다.
member_join_ok.php을 에디터에서 오픈하셔서
93행쯤에
$msn = addslashes($msn);
이라는 부분이 있을겁니다.
그 다음행에 아래의 내용을 입력해 주세요
$aol = str_replace(" ","",$aol);
$aol=trim($aol);
if(!isBlank($aol)){
$idsearch = mysql_fetch_array(mysql_query("select count(*) from $member_table where user_id='$aol'",$connect));
if($idsearch[0]==0) {
Error("해당추천인이 존재하지 않습니다. 다시 확인해주세요.","");
}else{
mysql_query("update $member_table set point1=point1+10 where user_id='$aol'");
}
}
이부분을 잠깐 설명해 드리자면 추천인형태에서 가장 핵심이 되는 부분으로..
추천인을 항목에서 빈문자열등을 검색해서
추천인에 어떤값이 있다면
그 어떤값으로 회원테이블에서 검사를 하여..
해당 회원이 있는지 검사한후에
해당 회원이 없으면 에러메시지를 뿌려주고
해당 회원이 있으면 해당회원에게 100점이라는 점수를 부여토록 되어 있습니다.
여기까지 하셨으면 member_join_ok.php파일은 다 수정하셨습니다.
■■ member_out.php 수정하기 ■■
이제 member_out.php파일을 수정하겠습니다.
회원가입한 회원이 탈퇴를 할경우 그 회원이 만약 추천인이 있었다면
해당 추천인이 아직도 회원으로 있는지 검사한후에 있다면 회원의 점수중 100점을 빼도록 하겠습니다.
member_out.php파일을 에디터로 오픈하신후에
10행쯤에 보시면
// 회원 정보를 얻어옴
$member=member_info();
$group_no = $member[group_no];
이라는 부분이 있습니다.
그 바로 다음행에
// 추천인이 있을시 추천인에게서 점수 -10을 한다.
if($member[aol]) {
$idsearch = mysql_fetch_array(mysql_query("select count(*) from $member_table where user_id='$member[aol]'",$connect));
if ($idsearch[0] > 0) {
mysql_query("update $member_table set point1=point1-10 where user_id='$member[aol]'");
}
}
이부분을 추가해 주세요
member_out.php파일도 다 수정하셨습니다.
제로보드4는 저런식으로 하면 된다고 하던데 XE 버전은 어떤식으로 하는지 자세히 알고 싶습니다.