회원 자동으로 삭제시키는방법?
본문
한달동안 접속하지 않은 회원을 삭제처리 하려고합니다. 매번 수동으로 회원관리에서 삭제 버튼을 눌러서 하려니 불편한대 따로 플러그인 같은거 나와있는거라든지 따로 방법이 있을까요?
답변 2
로그인할때 로그인하는 시간을 회원관리 테이블에 저장을 하고,
그 시간을 기준으로 한달이 지난 회원은 삭제하는 query 를 실행해주면 됩니다.
예)
/bbs/login_check.php 제일 하단에 아래 소스 추가
sql_query("update {$g5['member_table']} set mb_1='".G5_TIME_YMDHIS."' where mb_id = '{$mb['mb_id']}'");
/extend/user.config.php 파일에 아래 소스 추가
$mb_date = date('Y-m-d h:i:s',strtotime("-1 month"));
sql_query("delete from {$g5['member_table']} where mb_1 < '{$mb_date}' and mb_1<>'' ");
extend/user.config.php 파일에 추가 하세요
$today = G5_TIME_YMD;
if($config[cf_1] != $today ){ //---하루에 한번만 체크
$month1 = date("Y-m-d",strtotime("$today -1 month")); //--1개월 전 일자
$qq = sql_query("select mb_id from {$g5['member_table']} where LEFT(mb_today_login, 10) = '$month1' ");
while($row=sql_fetch_array($qq)) member_delete($row[mb_id]); //-- 포인트,쪽지, 스크랩등 모두 삭제
sql_query("update {$g5['config_table'] set cf_1='$today' ");
}
member_delete() 함수는 삭제된 회원 아이디는 남겨두고 나머지 정보는 삭제 되도록 되어잇습니다
삭제시 아이디까지 모두 삭제 하려면 member_delete()(common.lib.php에 있음)에서
// 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함
위와 같은 주석 다음 행 코드를 삭제하고 아래 코드를 넣으면 됩니다
sql_query("delete from {$g5['member_table']} where mb_id = '{$mb_id}' ");