웹마스터 팁

저번에는 너무 어렵게 한것 같아서 이번에는 차근차근 해 나갈것입니다;;
------------------------------------------------------------------
우선 첨부파일을 받아서 풀면 나오는 파일을 제로보드 폴더에 올리세요.
그리고, 두개의 파일 안에 보면

// 제로보드 설치 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도 확인해두시구요.
현재 제 홈에 적용해두었습니다.
아래는 적용 후 화면입니다.


제목 글쓴이 날짜
개판 오분전 세션 - 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] file teslaMINT 2003.02.22
계정이 php를 지원하는지아닌지 잘 모를때... [16] 격투왕맹호 2003.02.19
유용한 함수 몇가지...;;;; [7] Yuki-H. 2003.02.19
PHP,자바스크립트 제 3탄! 아래에 헤더로 asx감추기를 이용한 PHP무비 플레이어! file ☆좀비파우더™ 2003.02.16
DB를 이용한 현재접속자 수 구하기 [6] 김현석 2003.02.14
[초간단] 헤더로 asx 파일 음악 주소를 숨겨봐요. [9] 모라미 2003.02.14
제로보드 스킨들이 어느 게시판에 쓰이는지 알아보는 소스 [12] teslaMINT 2003.02.11
V3 neo+ 항상 최신버전으로 자동링크시키기 [7] 김현석 2003.02.08