
[그누보드5] 회원 완전히 삭제하기
Lpla
·2021. 3. 24. 23:13

버전에 따라 다를 수 있지만 그누보드는 관리자페이지 회원관리에서 회원 삭제 버튼을 클릭하더라도
삭제 기능 자체가 작동하지 않거나 혹은 삭제되더라도 db에 데이터가 남아 있어 해당 아이디나 이메일로 가입이 불가능한 경우가 발생한다.



그누보드에서 회원을 완전히 삭제하기 위해서는 파일을 수정해야 한다.
수정할 파일은 lib/common.lib.php 이다.
먼저 member_delete 함수에서 아래 코드를 주석처리한다.
// 회원 삭제
function member_delete($mb_id)
{
global $config;
global $g5;
$sql = " select mb_name, mb_nick, mb_ip, mb_recommend, mb_memo, mb_level from {$g5['member_table']} where mb_id= '".$mb_id."' ";
$mb = sql_fetch($sql);
// 이미 삭제된 회원은 제외
// if(preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo']))
// return;
if ($mb['mb_recommend']) {
$row = sql_fetch(" select count(*) as cnt from {$g5['member_table']} where mb_id = '".addslashes($mb['mb_recommend'])."' ");
if ($row['cnt'])
insert_point($mb['mb_recommend'], $config['cf_recommend_point'] * (-1), $mb_id.'님의 회원자료 삭제로 인한 추천인 포인트 반환', "@member", $mb['mb_recommend'], $mb_id.' 추천인 삭제');
}
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
// $sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
.
.
}
그리고 주석처리한 곳 바로 다음에 아래 코드를 추가한다.
// 회원 삭제
function member_delete($mb_id)
{
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
// $sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
// 회원 삭제
sql_query(" delete from {$g5['member_table']} where mb_id = '$mb_id' ");
.
.
}
저장한 다음 관리자페이지에서 회원 삭제를 다시 시도해보면 이제 깔끔하게 삭제되고 db에도 데이터가 남아 있지 않다.
참고 : 그누스터디
회원 삭제시 완전히 삭제하기 - 그누보드팁
관리자 페이지 > 회원관리에서 회원을 삭제하면 완전히 삭제되지 않고 목록에 그대로 남아 있을 겁니다.나중에 누군가 동일한 아이디로 가입하면 겹치는 문제 때문에 아이디는 남겨놓는 건데요
gnustudy.com