2026, 새로운 도약을 시작합니다.

회원삭제 [db에서 삭제] 플러그인

회원탈퇴.png

그누보드 기본 동작은

회원탈퇴 시 g5_member를 삭제하지 않고 mb_leave_date / mb_intercept_date 플래그 처리죠.
탈퇴 시 g5_member에서 실제 DELETE 하는 플러그인입니다.

/plugin/member_delete/
 ├─ plugin.php
 └─ member_leave_delete.php
 

plugin.php

[code]
if (!defined('_GNUBOARD_')) exit;

add_event('member_leave_after', 'member_leave_delete');
[/code]

member_leave_after
→ 회원 탈퇴 처리가 끝난 직후 실행되는 이벤트

member_leave_delete.php

[code]

<?php
if (!defined('_GNUBOARD_')) exit;

function member_leave_delete($mb_id)
{
    global $g5;

    if (!$mb_id) return;

    // 관리자 계정 보호 (선택)
    if ($mb_id === 'admin') return;

    // 회원 정보 삭제
    sql_query("DELETE FROM {$g5['member_table']} WHERE mb_id = '".sql_real_escape_string($mb_id)."'");

    // 세션 제거
    if (session_id()) {
        session_unset();
        session_destroy();
    }
}
 

[/code]

플러그인 활성화

[code]

include_once(G5_PLUGIN_PATH.'/member_delete/plugin.php');
[/code]

회원 탈퇴 클릭
 → leave.php 실행
   → 기본 플래그 업데이트
     → member_leave_after 이벤트 발생
       → g5_member 실제 DELETE
 

연관 데이터도 같이 삭제하려면

[code]

sql_query("DELETE FROM {$g5['point_table']} WHERE mb_id = '$mb_id'");
sql_query("DELETE FROM {$g5['memo_table']} WHERE me_recv_mb_id = '$mb_id' OR me_send_mb_id = '$mb_id'");
sql_query("DELETE FROM {$g5['scrap_table']} WHERE mb_id = '$mb_id'");
 

[/code]

버전 정보

호환 가능 버전 5.3이상

첨부파일

회원탈퇴.png (8.8 KB)
0회 2025-12-28 20:26
member_삭제.txt (1.7 KB) 7회 2025-12-28 20:26
|

댓글 4개

수고하셨습니다. ^

감사합니다 ^^

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.
번호 제목 글쓴이 날짜 조회
678 어제 조회 115
677 5일 전 조회 362
676 5일 전 조회 197
675 1주 전 조회 309
674 1주 전 조회 221
673 1주 전 조회 214
672 2주 전 조회 454
671 2주 전 조회 269
670 3주 전 조회 389
669 3주 전 조회 273
668 3주 전 조회 267
667 3주 전 조회 419
🐛 버그신고