며칠동안만 회원을 차단 시킬 방법이 없을까요?

2014-01-25 (토) 13:29:16 5,623

그누 초보라 날마다 질문만 하네요 ㅎㅎ

스팸이라면 관리자 화면에서 영구히 차단시키겠지만, 회원이 규칙을 어겼을 때 며칠동안만 차단을 주려고 합니다.

이걸 그누5에서 구현할 방법이 있나요?

|

답변 5개 / 댓글 3개

저도 평소에 궁금해 하던거에요~ ^^;

2014-01-25 (토) 21:12:55
오~~~ 또치0115 최고!! 멋집니다.
logout 부분은 로그아웃 루틴이 변경될수 있으니까
goto_url('G5_BBS_URL/logout.php'); 로 하시면 깔끔할것같습니다. ^^

--> 이렇게 하면 문제가 되겠군요.^^
if (!strstr($PHP_SELF,"/logout.php'))  {
    goto_url('G5_BBS_URL/logout.php'); 
}

로 해야 하겠습니다. (로그아웃시에는 체크 안하게요.^^)

로빈아빠님이 알려주신걸 토대로 만들어 봤습니다..
급하게 만들어 세련되진 않네요 ^^ (실력없음을 감추기위한 방어막인거 아시죠? ㅋㅋ)

extend/limit.user.php 에 다음 코드를 넣었습니다.

<?php
if ($member['mb_id'])
{
if($member[mb_1]!="")
{
if($member[mb_1]>=date("Y-m-d"))
{
// logout.php 소스를 가져와 자동으로 로그아웃 되게 만들었습니다. 

// 이호경님 제안 코드
session_unset(); // 모든 세션변수를 언레지스터 시켜줌 
session_destroy(); // 세션해제함 
// 자동로그인 해제 --------------------------------
set_cookie("ck_mb_id", "", 0);
set_cookie("ck_auto", "", 0);
// 자동로그인 해제 end --------------------------------

 alert("회원님은 $member[mb_1] 까지 게시판 사용이 제한됩니다.자동 로그아웃되었습니다.");
}
}
}

?>

선행될 내용으로는

관리자가 

관리자 페이지에서 (차단할)이용자정보의  mb_1 항목에 

수동으로 차단할 날짜를 

2014-1-14 이런형식으로 입력해주시고 

테스트하심되어요..

더 세련된 방법 아시는분~~고쳐주세요~~공부되게요 ^^

답변에 대한 댓글 1개

소스까지 만들어 주시네요! 감사합니다.
2014-01-25 (토) 16:16:38
exend/limit.user.php  를 만들어서 이렇게 넣어주세요.
차단할 회원의 여유필드 mb_1 에 차단할 날짜를 넣어주면 되구요,

<?
if ($bo_table && $member[mb_1]&&$member[mb_1]<date("Y-m-d")) {
  alert("회원님은 $member[mb_1] 까지 게시판 사용이 제한됩니다.");
}
?>

$bo_table &&  를 제거하면 로그아웃을 못하니.. 이렇게 하시면되겠군요.
if (!strstr($PHP_SELF,'/logout') && strlen(dirname($PHP_SELF))>3 && $member[mb_1]&&$member[mb_1]<date("Y-m-d")) {
  alert("회원님은 $member[mb_1] 까지 게시판 사용이 제한됩니다.",G5_URL);
}


테스트안하고 눈으로만 짠거라서 될지는 모르겠어요.^^

답변에 대한 댓글 1개

맴버테이블의 여유 필드를 쓰면 간단해 지는군요~
저도 공부가 되었습니다~
1. 규칙을 어긴 회원(차단할 회원)을 디비에 저장한다.
2. 차단할 날짜를 설정한다.(디비에 저장)
3. 홈피 시작시 차단된 회원인지 확인한다.
4. 차단일이 지났는지 확인한다.

등등...디비와 연동하여~구현하면 되겠지요??

답변에 대한 댓글 1개

회원별로 정보를 가지고 있는 것도 괜찮겠네요. :)

1. 규칙을 어긴 회원정보에 차단종료일을 입력하고
2. 해당 회원이 로그인 시도 시 차단종료일이 지났는지 검사

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