웹마스터 팁
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도 확인해두시구요.
현재 제 홈에 적용해두었습니다.
아래는 적용 후 화면입니다.
![](http://mymint.pe.kr/bbs/icon/member_image_box/1/nzeo_member_join.jpg)
![](http://mymint.pe.kr/bbs/icon/member_image_box/1/nzeo_member_modify.jpg)
![](http://mymint.pe.kr/bbs/icon/member_image_box/1/nzeo_member_out.jpg)
------------------------------------------------------------------
우선 첨부파일을 받아서 풀면 나오는 파일을 제로보드 폴더에 올리세요.
그리고, 두개의 파일 안에 보면
// 제로보드 설치 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도 확인해두시구요.
현재 제 홈에 적용해두었습니다.
아래는 적용 후 화면입니다.
![](http://mymint.pe.kr/bbs/icon/member_image_box/1/nzeo_member_join.jpg)
![](http://mymint.pe.kr/bbs/icon/member_image_box/1/nzeo_member_modify.jpg)
![](http://mymint.pe.kr/bbs/icon/member_image_box/1/nzeo_member_out.jpg)
댓글 44
제목 | 글쓴이 | 날짜 |
---|---|---|
나만의 미니홈 만들기 ㅡ 메인 기초 설계2 .레이아웃 | 예뜨락 | 2004.11.18 |
나만의 미니홈 만들기 ㅡ 메인 기초 설계 .home.php
[12]
![]() | 예뜨락 | 2004.11.17 |
나만의 미니홈 만들기 ㅡ 글쓰기에 앞서... [1] | 예뜨락 | 2004.11.17 |
한꼬마의 제로보드 이용법 (sql로 테이블 호출) [2] | 한꼬마 | 2003.11.26 |
인터넷 사이트 , MS 오피스로 관리하기
[3]
![]() | 한꼬마 | 2003.09.22 |
PHP 혼자 공부하기 - 12 :: SQL문
[6]
![]() | 행복한고니 | 2003.04.20 |
NZEO 이메일 인증 따라하기 [또 수정 --;]
[44]
![]() | teslaMINT | 2003.02.22 |
NZEO 쪽지 수신 허용/거부 따라하기 ~(=ㅁ=)~ [12] | teslaMINT | 2003.01.28 |
파일 하나로 끝내는-_- NZEO 북마크...-_-a [14] | ineal | 2003.01.13 |
휴대폰 결재 활용 (최종) | 한꼬마 | 2002.11.26 |
휴대폰 결재 설치 및 테스터
[3]
![]() | 한꼬마 | 2002.11.24 |
모닝샵 이용해서 쇼핑몰 만들기 (서론) [5] | 한꼬마 | 2002.11.19 |
제로보드로 유료 사이트 만들기 (결제 테이블) [2] | 한꼬마 | 2002.10.30 |
[PHP 초보에서 중수로 - 쿠키편] 1강 : 쿠키의 이해
[2]
![]() | TheMics | 2002.08.31 |
PHP의 제어구조 [2] | Mr. JH | 2002.08.22 |
테이블 생성시 데이터베이스의 타입설정 [2] | Mr. JH | 2002.08.22 |
[초보자] 자기 계정에 APM,Perl,PHP이 지원하는지 알아보기. [5] | ZipShin | 2002.08.01 |
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] | [폐]허접-_- | 2002.03.18 |
▩찾기 기능을 내 홈페이지에 넣어보자 [1] | ▩윤미 | 2002.02.26 |
[HTML 초보자]동영상을 출력하자-7(Object) [2] | ZipShin | 2003.01.03 |