며칠동안만 회원을 차단 시킬 방법이 없을까요?
본문
그누 초보라 날마다 질문만 하네요 ㅎㅎ
스팸이라면 관리자 화면에서 영구히 차단시키겠지만, 회원이 규칙을 어겼을 때 며칠동안만 차단을 주려고 합니다.
이걸 그누5에서 구현할 방법이 있나요?
답변 5
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);
}
테스트안하고 눈으로만 짠거라서 될지는 모르겠어요.^^
오~~~ 또치0115 최고!! 멋집니다.
logout 부분은 로그아웃 루틴이 변경될수 있으니까
goto_url('G5_BBS_URL/logout.php'); 로 하시면 깔끔할것같습니다. ^^
--> 이렇게 하면 문제가 되겠군요.^^
if (!strstr($PHP_SELF,"/logout.php')) {
goto_url('G5_BBS_URL/logout.php');
}
로 해야 하겠습니다. (로그아웃시에는 체크 안하게요.^^)
1. 규칙을 어긴 회원(차단할 회원)을 디비에 저장한다.
2. 차단할 날짜를 설정한다.(디비에 저장)
3. 홈피 시작시 차단된 회원인지 확인한다.
4. 차단일이 지났는지 확인한다.
등등...디비와 연동하여~구현하면 되겠지요??
로빈아빠님이 알려주신걸 토대로 만들어 봤습니다..
급하게 만들어 세련되진 않네요 ^^ (실력없음을 감추기위한 방어막인거 아시죠? ㅋㅋ)
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 이런형식으로 입력해주시고
테스트하심되어요..
더 세련된 방법 아시는분~~고쳐주세요~~공부되게요 ^^
더 세련된 방법 아시는분~~고쳐주세요~~공부되게요 ^^
저도 평소에 궁금해 하던거에요~ ^^;
답변을 작성하시기 전에 로그인 해주세요.