웹마스터 팁

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

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


제목 글쓴이 날짜
폰갭 자기 전화번호 추출 한꼬마 2017.08.14
폰갭 버전 업데이트 후 push 안되시는 분들께.. 한꼬마 2017.08.09
포인트 적립 횟수 일별 제한하기 (게시글 및 댓글 작성시) Redback 2017.06.18
다음 우편번호 5자리 적용 [1] file 뒤늦게입문 2017.03.15
HTML, CSS 등 코드를 깔끔하게 정렬 [6] file 참치.k 2013.01.11
SASS? CSS확장판 키큰아이 2017.05.09
사용자정의에서 URL형, email형, textarea 형등에서도 기본값 인식하게 하려면 sejin7940 2017.04.25
비밀글에 대해서도 썸네일이미지는 출력되도록 하고 싶으면 sejin7940 2017.04.12
제로보드 사용시 아이프레임의 크기를 내용에 따라 바꿔주는 스크립트 [7] 쿨리안 2003.06.28
게시글 확장변수 순으로 정렬하기 (2010.01.18 13:18 수정) [24] June Oh 2010.01.11
인기글 [1] kdp 2015.05.07
[주옥시리즈]최신글,인기글 위젯에 댓글수 표기하기 [1] socialskyo 2013.10.01
.htaccess 파일 관련 팁(웹 사이트 퍼포먼스 향상 및 트래픽 절감 효과) [21] file 서시빈목 2013.10.22
압축 풀어 설치했던 XE를 git으로 변환하기 [6] 기진곰 2015.02.25
반응형 기본 개념 Ansi™ 2017.02.27
[도로명주소 krzip] 1.7.4 이전 버전들에 이용하기 [3] XE플스 2014.02.06
[리눅스] 속도향상 팁. nginx를 리버스프록시로 써봅시다. [6] choco@_@ 2013.07.11
jquery swiper Ansi™ 2017.02.16
인스타그램 해시태그 회원가입 없이 끌어오기 외인 2017.02.08
CKEditor 글꼴란에 한글 폰트 추가하는 방법 (수정함) [4] file 기븐 2015.09.19