회원삭제 [db에서 삭제] 플러그인 정보
회원삭제 [db에서 삭제] 플러그인
첨부파일
호환 가능 버전5.3이상
본문
그누보드 기본 동작은
회원탈퇴 시 g5_member를 삭제하지 않고 mb_leave_date / mb_intercept_date 플래그 처리죠.
탈퇴 시 g5_member에서 실제 DELETE 하는 플러그인입니다.
/plugin/member_delete/
├─ plugin.php
└─ member_leave_delete.php
plugin.php
if (!defined('_GNUBOARD_')) exit;
add_event('member_leave_after', 'member_leave_delete');
member_leave_after
→ 회원 탈퇴 처리가 끝난 직후 실행되는 이벤트
member_leave_delete.php
<?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();
}
}
플러그인 활성화
include_once(G5_PLUGIN_PATH.'/member_delete/plugin.php');
회원 탈퇴 클릭
→ leave.php 실행
→ 기본 플래그 업데이트
→ member_leave_after 이벤트 발생
→ g5_member 실제 DELETE
연관 데이터도 같이 삭제하려면
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'");
추천
7
7
댓글 전체

감사합니다

수고하셨습니다. ^

감사합니다 ^^

감사합니다.
