회원가입

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
회원가입

QA

회원가입

본문

 가입 탈퇴 동일한 아이디로 가입 불가능(이미 사용중인 회원아이디 입니다.)팝업창이 나타남 - 몇일동안 보관 삭제되는지 알려주거나 가입가능하게 변경할라면 어떻게 할까여... 해결방안점요.. 

이 질문에 댓글 쓰기 :

답변 4

원래 회원 삭제를 하면 보관함에 들어갑니다.

즉시삭제는 bbs/member_leave.php 파일에보시면

 

// 회원탈퇴일을 저장

$date = date("Ymd");

$sql = " update {$g5['member_table']} set mb_leave_date = '{$date}' where mb_id = '{$member['mb_id']}' ";

sql_query($sql);

이부분을 수정해서 바로 삭제하도록 쿼리문을 바꾸시면되구요

 

관리자가 회원관리에서 회원을 삭제하였을때에 바로삭제를 하게하려면

lib/common.lib.php파일에서

function 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{$mb['mb_memo']}' where mb_id = '{$mb_id}' ";

$sql = " delete from {$g5['member_table']} where mb_id = '{$mb_id}' ";

    sql_query($sql);

 

    // 포인트 테이블에서 삭제

    sql_query(" delete from {$g5['point_table']} where mb_id = '$mb_id' ");

 

    // 그룹접근가능 삭제

    sql_query(" delete from {$g5['group_member_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' ");

 

    // 관리권한 삭제

    sql_query(" delete from {$g5['auth_table']} where mb_id = '$mb_id' ");

 

    // 그룹관리자인 경우 그룹관리자를 공백으로

    sql_query(" update {$g5['group_table']} set gr_admin = '' where gr_admin = '$mb_id' ");

 

    // 게시판관리자인 경우 게시판관리자를 공백으로

    sql_query(" update {$g5['board_table']} set bo_admin = '' where bo_admin = '$mb_id' ");

 

    // 아이콘 삭제

    @unlink(G5_DATA_PATH.'/member/'.substr($mb_id,0,2).'/'.$mb_id.'.gif');


전체적으로 다 바꾸실 필요는 없구요

common.lib.php 파일에서 member_delete()함수를

 
// 이미 삭제된 회원은 제외
if(preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo']))
  return;

이부분을 수정하시면 됩니다

 
// 이미 삭제된 회원은 제외
if(preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo'])) {
  sql_query(" delete from ".$g5[member_table]." where mb_id = '".$mb_id."' ");
  return;
}  
 

이렇게 수정해주면 됩니다 

보통은 회원탈퇴하면 아이디가 비회원으로만 처리되고 삭제 되지 않을겁니다

그래서 그사람 아이디를 다시 사용할 수가 없지요

 

이부분은 /lib/common.lib.php 에서 member_delete()함수 내에서 update문에서 변경합니다  

이 아이디를 다시 사용하려면 탈퇴자들만 모아 놓는 테이블을 만들어 놓는다던지 해서 지우는게 어떨지요 

관리자 > 환경설정 > 기본환경설정 > 회원가입설정 > 회원탈퇴후 삭제일 에서

30일 후 자동 삭제 로 되어 있으니 일수를 변경해서 사용하세요. 

강제로 삭제 안되게 해둔 이유가 있는 것인데 강제로 db 삭제하다 보면 나중에 db 엉켜서 문제 생길 수 있습니다.
그래서 복구/최적화를 해야하는 것입니다.
그누보드4에서는 기본 기능이 있었는데 그누보드5에서는 기본 기능이 없어서 추가를 해야하네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 23
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT