웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
NZEO 이메일 인증 따라하기 [또 수정 --;]
2003.02.22 04:09
저번에는 너무 어렵게 한것 같아서 이번에는 차근차근 해 나갈것입니다;;
------------------------------------------------------------------
우선 첨부파일을 받아서 풀면 나오는 파일을 제로보드 폴더에 올리세요.
그리고, 두개의 파일 안에 보면
// 제로보드 설치 url
$zb_path="제로보드 설치 경로";
이 부분을 찾아 반드시 수정해주세요.
이제 파일 수정입니다. 파란색은 원문, 빨간색은 추가/수정부분입니다.
member_join_ok.php 118번째줄 부근부터
-----------------------
if(!$mode) {
$member_data=mysql_fetch_array(mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')"));
// 인증 부분
// 웹마스터 E-mail
$_from = $_zbDefaultSetup[email];
// 사이트 이름
$_sitename = $_zbDefaultSetup[sitename];
// 제로보드 설치 url
$zb_path = "제로보드 경로";
$temp=substr(base64_encode(time()),1,10);
$mode="join";
mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member_data[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
$to=$member_data[email];
$name=$member_data[name];
$link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$user_id."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$user_id."&key=".$temp."< /a>";
$subject="[$_sitename] 회원가입 인증 메일입니다";
$comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에 가입해 주셔서 갑사합니다.n"."가입 인증을 확인하시려면 아래 주소를 클릭하여 주세요.n만일 링크 표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하시면 됩니다.nn".$link;
if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
?>
<script>
alert("지금 <?=$to?>로 인증 메일을 보냈습니다.nn메일을 확인하시고 인증받으시기 바랍니다.");
opener.window.history.go(0);
window.close();
</script>
<?
exit;
}
// 4.0x 용 세션 처리
$zb_logged_no = $member_data[no];
$zb_logged_time = time();
$zb_logged_ip = $REMOTE_ADDR;
$zb_last_connect_check = '0';
session_register("zb_logged_no");
session_register("zb_logged_time");
session_register("zb_logged_ip");
session_register("zb_last_connect_check");
mysql_close($connect);
?>
<script>
alert("회원가입이 정상적으로 이루어졌습니다.");
opener.window.history.go(0);
window.close();
</script>
<!-- 여기가 파일의 끝입니다 -->
-----------------------
member_modify_ok.php 22번째줄 부근부터
-----------------------
$check=mysql_fetch_array(mysql_query("select count(*) from $member_table where email='+ '$email' and no <> ".$member[no],$connect));
if($check[0]>0) Error("이미 등록되어 있는 E-Mail입니다");
// 여기부터 인증부분
$check=mysql_fetch_array(mysql_query("select no,email from $member_table where no='+ '$no'",$connect));
if($check[email]!=$email) {
// 웹마스터 E-mail
$_from = $_zbDefaultSetup[email];
// 사이트 이름
$_sitename = $_zbDefaultSetup[sitename];
// 제로보드 설치 url
$zb_path = "제로보드 경로";
$temp=substr(base64_encode(time()),1,10);
$mode="join";
mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
$to=$email;
$link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."< /a>";
$subject="[$_sitename] 정보수정 인증 메일입니다";
$comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에서 메일주소를 변경하였기에 발송되는 인증메일입니다.n"."인증을 확인하시려면 아래 링크를 클릭하여 주세요.n만일 링크표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하여 주세요.nn".$link;
if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
?>
<script>
alert("지금 <?=$to?>로 인증메일을 발송하였습니다.nn지금 메일을 확인하여 인증받으시기 바랍니다.");
opener.window.history.go(0);
window.close();
</script>
<?
}
// 인증부분 끝
.
.
.
[중략]
.
.
if (!$mode) {
?>
<script>
alert("회원님의 정보수정이 제대로 처리되었습니다.");
opener.window.history.go(0);
window.close();
</script>
<? } ?>
<!-- 여기가 이 파일의 끝입니다 -->
-----------------------
member_out.php 10번째줄
-----------------------
// 회원 정보를 얻어옴
$member=member_info();
$group_no = $member[group_no];
// 멤버 정보 삭제 -- 이부분부터 인증을 위해 주석처리
// @mysql_query("delete from $member_table where no='$member[no]'") or error(mysql_error());
// 쪽지 테이블에서 멤버 정보 삭제
// @mysql_query("delete from $get_memo_table where member_no='$member[no]'") or error(mysql_error());
// @mysql_query("delete from $send_memo_table where member_no='$member[no]'") or error(mysql_error());
// 각종 게시판에서 현재 탈퇴한 멤버의 모든 정보를 삭제 (부하 문제로 인해서 주석 처리)
/*
$result=mysql_query("select name from $admin_table");
while($data=mysql_fetch_array($result)) {
// 게시판 테이블에서 삭제
@mysql_query("update $t_board"."_$data[name] set ismember='0', password=password('".time()."') where ismember='$member[no]'") or error(mysql_error());
// 코멘트 테이블에서 삭제
@mysql_query("update $t_comment"."_$data[name] set ismember='0', password=password('".time()."') where ismember='$member[no]'") or error(mysql_error());
}
*/
// 그룹테이블에서 회원수 -1
// @mysql_query("update $group_table set member_num=member_num-1 where no = '$group_no'") or error(mysql_error());
// 여기까지 주석처리
// 웹마스터 E-mail
$_from = $_zbDefaultSetup[email];
// 사이트 이름
$_sitename = $_zbDefaultSetup[sitename];
// 제로보드 설치 url
$zb_path = "제로보드 경로";
$temp=substr(base64_encode(time()),1,10);
$mode="out";
mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
$name=$member[name];
$to=$member[email];
$link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."< /a>";
$subject="[$_sitename] 회원탈퇴 인증 메일입니다";
$comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에서 탈퇴요청을 하였기에 발송되는 인증메일입니다.n"."인증을 확인하시려면 아래 링크를 클릭하여 주세요.n만일 링크표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하여 주세요.nn".$link;
if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
// 로그아웃 시킴
destroyZBSessionID($member[no]);
// 기존 세션 처리 (4.0x용 세션 처리로 인하여 주석 처리)
//$HTTP_SESSION_VARS["zb_logged_no"]='';
//$HTTP_SESSION_VARS["zb_logged_id"]='';
//$HTTP_SESSION_VARS["zb_logged_time"]='';
//$HTTP_SESSION_VARS["zb_logged_ip"]='';
//$HTTP_SESSION_VARS["zb_secret"]='';
//$HTTP_SESSION_VARS["zb_last_connect_check"] = '0';
// 4.0x 용 세션 처리
$zb_logged_no='';
$zb_logged_time='';
$zb_logged_ip='';
$zb_secret='';
$zb_last_connect_check = '0';
session_register("zb_logged_no");
session_register("zb_logged_time");
session_register("zb_logged_ip");
session_register("zb_secret");
session_register("zb_last_connect_check");
mysql_close($connect);
?>
<script>
alert("인증메일이 <?=$to?>로 발송되었습니다.nn메일을 확인하셔야만 완전한 탈퇴가 이루어집니다.");
opener.window.history.go(0);
window.close();
</script>
<!-- 여기가 이 파일의 끝입니다 -->
----------------------------------
이제 로그인을 위한 login_check.php 수정입니다. 20번째줄 부터
----------------------------------
// 회원로그인이 성공하였을 경우 세션을 생성하고 페이지를 이동함
if($member_data[no]) {
// 인증이 안되어 있으면 못들어가요~
if($member_data[office_tel]=="join") error("메일 인증이 되지 않은 ID입니다
아이디 재인증을 하시기 바랍니다
< a href=# onclick="window.open('activate_form.php?mode=join','lost_id','width=380,height=200,toolbars=no,autoscrollbars=no')"><u>☞ 아이디 재인증</u>< /a>");
if($member_data[office_tel]=="out") error("인증받으셔야만 회원탈퇴가 가능합니다.
인증 메일을 다시 받으시려면 아래 링크를 클릭하세요.
< a href=# onclick="window.open('activate_form.php?mode=out','lost_id','width=380,height=200,toolbars=no,autoscrollbars=no')"><u>☞ 아이디 재인증</u>< /a>");
// 여기까지 인증 부분
---------------------------------
이 외에도 member_modify.php에서 탈퇴시 메세지창을 수정하여야 하는데 이것은 여러분에게 맡기겠습니다.
참, setup.php도 확인해두시구요.
현재 제 홈에 적용해두었습니다.
아래는 적용 후 화면입니다.
------------------------------------------------------------------
우선 첨부파일을 받아서 풀면 나오는 파일을 제로보드 폴더에 올리세요.
그리고, 두개의 파일 안에 보면
// 제로보드 설치 url
$zb_path="제로보드 설치 경로";
이 부분을 찾아 반드시 수정해주세요.
이제 파일 수정입니다. 파란색은 원문, 빨간색은 추가/수정부분입니다.
member_join_ok.php 118번째줄 부근부터
-----------------------
if(!$mode) {
$member_data=mysql_fetch_array(mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')"));
// 인증 부분
// 웹마스터 E-mail
$_from = $_zbDefaultSetup[email];
// 사이트 이름
$_sitename = $_zbDefaultSetup[sitename];
// 제로보드 설치 url
$zb_path = "제로보드 경로";
$temp=substr(base64_encode(time()),1,10);
$mode="join";
mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member_data[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
$to=$member_data[email];
$name=$member_data[name];
$link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$user_id."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$user_id."&key=".$temp."< /a>";
$subject="[$_sitename] 회원가입 인증 메일입니다";
$comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에 가입해 주셔서 갑사합니다.n"."가입 인증을 확인하시려면 아래 주소를 클릭하여 주세요.n만일 링크 표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하시면 됩니다.nn".$link;
if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
?>
<script>
alert("지금 <?=$to?>로 인증 메일을 보냈습니다.nn메일을 확인하시고 인증받으시기 바랍니다.");
opener.window.history.go(0);
window.close();
</script>
<?
exit;
}
// 4.0x 용 세션 처리
$zb_logged_no = $member_data[no];
$zb_logged_time = time();
$zb_logged_ip = $REMOTE_ADDR;
$zb_last_connect_check = '0';
session_register("zb_logged_no");
session_register("zb_logged_time");
session_register("zb_logged_ip");
session_register("zb_last_connect_check");
mysql_close($connect);
?>
<script>
alert("회원가입이 정상적으로 이루어졌습니다.");
opener.window.history.go(0);
window.close();
</script>
<!-- 여기가 파일의 끝입니다 -->
-----------------------
member_modify_ok.php 22번째줄 부근부터
-----------------------
$check=mysql_fetch_array(mysql_query("select count(*) from $member_table where email='+ '$email' and no <> ".$member[no],$connect));
if($check[0]>0) Error("이미 등록되어 있는 E-Mail입니다");
// 여기부터 인증부분
$check=mysql_fetch_array(mysql_query("select no,email from $member_table where no='+ '$no'",$connect));
if($check[email]!=$email) {
// 웹마스터 E-mail
$_from = $_zbDefaultSetup[email];
// 사이트 이름
$_sitename = $_zbDefaultSetup[sitename];
// 제로보드 설치 url
$zb_path = "제로보드 경로";
$temp=substr(base64_encode(time()),1,10);
$mode="join";
mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
$to=$email;
$link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."< /a>";
$subject="[$_sitename] 정보수정 인증 메일입니다";
$comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에서 메일주소를 변경하였기에 발송되는 인증메일입니다.n"."인증을 확인하시려면 아래 링크를 클릭하여 주세요.n만일 링크표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하여 주세요.nn".$link;
if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
?>
<script>
alert("지금 <?=$to?>로 인증메일을 발송하였습니다.nn지금 메일을 확인하여 인증받으시기 바랍니다.");
opener.window.history.go(0);
window.close();
</script>
<?
}
// 인증부분 끝
.
.
.
[중략]
.
.
if (!$mode) {
?>
<script>
alert("회원님의 정보수정이 제대로 처리되었습니다.");
opener.window.history.go(0);
window.close();
</script>
<? } ?>
<!-- 여기가 이 파일의 끝입니다 -->
-----------------------
member_out.php 10번째줄
-----------------------
// 회원 정보를 얻어옴
$member=member_info();
$group_no = $member[group_no];
// 멤버 정보 삭제 -- 이부분부터 인증을 위해 주석처리
// @mysql_query("delete from $member_table where no='$member[no]'") or error(mysql_error());
// 쪽지 테이블에서 멤버 정보 삭제
// @mysql_query("delete from $get_memo_table where member_no='$member[no]'") or error(mysql_error());
// @mysql_query("delete from $send_memo_table where member_no='$member[no]'") or error(mysql_error());
// 각종 게시판에서 현재 탈퇴한 멤버의 모든 정보를 삭제 (부하 문제로 인해서 주석 처리)
/*
$result=mysql_query("select name from $admin_table");
while($data=mysql_fetch_array($result)) {
// 게시판 테이블에서 삭제
@mysql_query("update $t_board"."_$data[name] set ismember='0', password=password('".time()."') where ismember='$member[no]'") or error(mysql_error());
// 코멘트 테이블에서 삭제
@mysql_query("update $t_comment"."_$data[name] set ismember='0', password=password('".time()."') where ismember='$member[no]'") or error(mysql_error());
}
*/
// 그룹테이블에서 회원수 -1
// @mysql_query("update $group_table set member_num=member_num-1 where no = '$group_no'") or error(mysql_error());
// 여기까지 주석처리
// 웹마스터 E-mail
$_from = $_zbDefaultSetup[email];
// 사이트 이름
$_sitename = $_zbDefaultSetup[sitename];
// 제로보드 설치 url
$zb_path = "제로보드 경로";
$temp=substr(base64_encode(time()),1,10);
$mode="out";
mysql_query("update $member_table set level='10',office_address=password('$temp'),office_tel='$mode' where no='$member[no]'",$connect) or Error("암호 입력 도중 오류가 발생하였습니다.");
$name=$member[name];
$to=$member[email];
$link="< a href='".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."'>".$zb_path."activate.php?mode=".$mode."&userid=".$member[user_id]."&key=".$temp."< /a>";
$subject="[$_sitename] 회원탈퇴 인증 메일입니다";
$comment="안녕하세요.n"."$_sitename 입니다.n"."$_sitename 에서 탈퇴요청을 하였기에 발송되는 인증메일입니다.n"."인증을 확인하시려면 아래 링크를 클릭하여 주세요.n만일 링크표시가 되지 않는다면, 아래 주소를 복사하셔서 웹브라우저에서 실행하여 주세요.nn".$link;
if(!zb_sendmail(1, $to, $name, $_from, "", $subject, $comment)) Error("메일 발송 에러");
// 로그아웃 시킴
destroyZBSessionID($member[no]);
// 기존 세션 처리 (4.0x용 세션 처리로 인하여 주석 처리)
//$HTTP_SESSION_VARS["zb_logged_no"]='';
//$HTTP_SESSION_VARS["zb_logged_id"]='';
//$HTTP_SESSION_VARS["zb_logged_time"]='';
//$HTTP_SESSION_VARS["zb_logged_ip"]='';
//$HTTP_SESSION_VARS["zb_secret"]='';
//$HTTP_SESSION_VARS["zb_last_connect_check"] = '0';
// 4.0x 용 세션 처리
$zb_logged_no='';
$zb_logged_time='';
$zb_logged_ip='';
$zb_secret='';
$zb_last_connect_check = '0';
session_register("zb_logged_no");
session_register("zb_logged_time");
session_register("zb_logged_ip");
session_register("zb_secret");
session_register("zb_last_connect_check");
mysql_close($connect);
?>
<script>
alert("인증메일이 <?=$to?>로 발송되었습니다.nn메일을 확인하셔야만 완전한 탈퇴가 이루어집니다.");
opener.window.history.go(0);
window.close();
</script>
<!-- 여기가 이 파일의 끝입니다 -->
----------------------------------
이제 로그인을 위한 login_check.php 수정입니다. 20번째줄 부터
----------------------------------
// 회원로그인이 성공하였을 경우 세션을 생성하고 페이지를 이동함
if($member_data[no]) {
// 인증이 안되어 있으면 못들어가요~
if($member_data[office_tel]=="join") error("메일 인증이 되지 않은 ID입니다
아이디 재인증을 하시기 바랍니다
< a href=# onclick="window.open('activate_form.php?mode=join','lost_id','width=380,height=200,toolbars=no,autoscrollbars=no')"><u>☞ 아이디 재인증</u>< /a>");
if($member_data[office_tel]=="out") error("인증받으셔야만 회원탈퇴가 가능합니다.
인증 메일을 다시 받으시려면 아래 링크를 클릭하세요.
< a href=# onclick="window.open('activate_form.php?mode=out','lost_id','width=380,height=200,toolbars=no,autoscrollbars=no')"><u>☞ 아이디 재인증</u>< /a>");
// 여기까지 인증 부분
---------------------------------
이 외에도 member_modify.php에서 탈퇴시 메세지창을 수정하여야 하는데 이것은 여러분에게 맡기겠습니다.
참, setup.php도 확인해두시구요.
현재 제 홈에 적용해두었습니다.
아래는 적용 후 화면입니다.
댓글 44
제목 | 글쓴이 | 날짜 |
---|---|---|
개판 오분전 세션 - 6 | 미친개 | 2003.04.08 |
개판 오분전 세션 - 5 | 미친개 | 2003.04.08 |
개판 오분전 세션 - 4 | 미친개 | 2003.04.08 |
개판 오분전 세션 - 3 [4] | 미친개 | 2003.04.08 |
개판 오분전 세션 - 2 [4] | 미친개 | 2003.04.08 |
개판 오분전 세션 - 1 [7] | 미친개 | 2003.04.08 |
객체를 이용한 winamp 방송정보 알아내는 소스 [4] | 흑심품은연필 | 2003.04.07 |
내 홈피도 채널을?! #1 [16] | (' _ ') napclub | 2003.03.31 |
이젠 주소검색 편하게쓰자~~~!! (새창띄우지 않습니다) [5] | _-=Knight=-_ | 2003.03.05 |
메일 인증시 기존 회원 전부 인증걸기;;; [4] | teslaMINT | 2003.03.04 |
게시판 통체 인클루드 하기 [12] | 깜보 | 2003.03.02 |
여러분이 원하시던 로또복권 소스공개~ [12] | Dopesoul | 2003.02.22 |
NZEO 이메일 인증 따라하기 [또 수정 --;] [44] | teslaMINT | 2003.02.22 |
계정이 php를 지원하는지아닌지 잘 모를때... [16] | 격투왕맹호 | 2003.02.19 |
유용한 함수 몇가지...;;;; [7] | Yuki-H. | 2003.02.19 |
PHP,자바스크립트 제 3탄! 아래에 헤더로 asx감추기를 이용한 PHP무비 플레이어! | ☆좀비파우더™ | 2003.02.16 |
DB를 이용한 현재접속자 수 구하기 [6] | 김현석 | 2003.02.14 |
[초간단] 헤더로 asx 파일 음악 주소를 숨겨봐요. [9] | 모라미 | 2003.02.14 |
제로보드 스킨들이 어느 게시판에 쓰이는지 알아보는 소스 [12] | teslaMINT | 2003.02.11 |
V3 neo+ 항상 최신버전으로 자동링크시키기 [7] | 김현석 | 2003.02.08 |