테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 회원탈퇴시

happyjo 4년 전 조회 2,518

그누보드5에서 회원탈퇴시에 탈퇴한 아이디로 로그인시 탈퇴한날짜는나오게하고 포인트테이블이나 쪽지등등은 전부 삭제할수잇나요? 

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

답변 3개

니얼바이웹

회원 탈퇴시  탈퇴한 아이디로 로그인하면 탈퇴날짜 나옵니다. ( bbs/member_leave.php 마지막 줄  alert(''.$member['mb_nick'].'님께서는 '. date("Y년 m월 d일") .'에 회원에서 탈퇴 하셨습니다.', $url); ) 포인트, 쪽지 부분은 탈퇴시 쿼리를 추가하셔야 합니다. 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); ) 이 부분에서 쿼리를 추가하시면 될 것 같아요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

h
happyjo
4년 전
그니까 탈퇴한아이디로 로그인시도시 탈퇴한날짜는 나오게할수잇고 포인트테이블,쪽지,권한 등등은 삭제할수잇다는거죠?
보통 탈퇴이후에 30일 경과후 회원삭제의경우에는 탈퇴날짜안나오고 가입한이메일또는 비밀번호가 아닙니다 라고 나오는거아닌가요?
탈퇴한날짜나오고 포인트테이블,쪽지,권한 등등은 삭제할수잇다는건가요?
니얼바이웹
4년 전
1. 탈퇴한날짜나오고 포인트테이블,쪽지,권한 등등은 삭제할수잇다는건가요?
login_check.php
// 탈퇴한 아이디인가?
if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G5_SERVER_TIME)) {
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_leave_date']);
alert('탈퇴한 아이디이므로 접근하실 수 없습니다.\n탈퇴일 : '.$date);
}
- 그누보드는 탈퇴 아이디로 로그인하면 팝업창이 뜨고 팝업창 안에 탈퇴일이 나옵니다.

- 회원탈퇴 시키는 파일 (bbs/member_leave.php)에서 쿼리를 보낼 때 포인트, 쪽지도 삭제하는 쿼리를 별도로 만들어야 합니다. mb_id가 고유값이니까 그걸 이용해서 쿼리를 만드시면 됩니다.
DELETE FROM `g5_point` WHERE `mb_id`="{$member['mb_id']}" //포인트 삭제
DELETE FROM `g5_memo` WHERE `me_recv_mb_id`="{$member['mb_id']}" //받은 쪽지 삭제
DELETE FROM `g5_memo` WHERE `me_send_mb_id`="{$member['mb_id']}" //보낸 쪽지 삭제
이런 식으로 쿼리를 만드시면 되겠네요.

- 탈퇴 회원은 권한이 1로 변경됩니다. (권한 1 = 비회원, 권한 2+@ = 회원)
h
happyjo
4년 전
탈퇴한아이디로 쪽지가 보내지면 쪽지 포인트테이블등이 삭제되지 않은거죠?
니얼바이웹
4년 전
쪽지 테이블은 맴버별로 있는게 아니라서 따로 지울게 없습니다.
쪽지 테이블(g5_memo)안에 내역들을 지우는 거라면 제가 보내드린 예시 쿼리처럼 쿼리를 실행시켜야 합니다.

탈퇴한 회원에게 쪽지가 전송되지 않게 하기위해서는 bbs/memo_form_update.php 27~36줄에 보시면 주석처리된 부분을 주석제거 해주시면 됩니다.
/*
// 관리자가 아니면서
// 가입된 회원이 아니거나 정보공개를 하지 않았거나 탈퇴한 회원이거나 차단된 회원에게 쪽지를 보내는것은 에러
if ((!$row['mb_id'] || !$row['mb_open'] || $row['mb_leave_date'] || $row['mb_intercept_date']) && !$is_admin) {
$error_list[] = $recv_list[$i];
} else {
$member_list['id'][] = $row['mb_id'];
$member_list['nick'][] = $row['mb_nick'];
}
*/
이 주석 풀면 정상 작동할거에요.

포인트도 회원별로 따로 테이블이 있는게 아니기 때문에 삭제 될 테이블은 없고,
포인트 테이블(g5_point) 에서 탈퇴 회원의 포인트를 0으로 만들고 싶으시면
update 쿼리로 포인트를 0으로 만드시면 되고
내역까지 삭제하고 싶으시면 위에 제가 작성해드린 예시 쿼리처럼 delete 쿼리를 이용하시면 될 것 같네요.
h
happyjo
4년 전
회원탈퇴시에 그럼 회원이 포인트로 어떤걸 사용했는지 알수없나요?
니얼바이웹
4년 전
update 쿼리로 포인트를 0으로 만드시면 기록은 남는거고
위에 제가 작성해드린 예시 쿼리처럼 delete 쿼리를 이용하시면 기록까지 삭제됩니다.

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

질문이 이해가...

로그인 후 평가할 수 있습니다

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

탈퇴를 했는데, 어떻게 로그인이 가능한가요...?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
happyjo
4년 전
탈퇴한 아이디로 로그인시도 했을 경우를 말한겁니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인