하루 글쓰기 제한 하는방법 정보
하루 글쓰기 제한 하는방법본문
하루동안 글쓰기 제한을 걸려고 합니다.
사이트 게시판 전체 하루 글쓰기 00개가 아닌
각 게시판마다 2~3개씩 글쓰기를 제한하려고 하는데요.
하루지나면 리셋되서 다시 게시판마다 2~3개글을 올릴수 있게요.
한 게시판에 막 퍼날르는거를 방지하려고 합니다.
그래서 이것저것 찾아봤는데 올라온글중에는 적용이 제대로 되는거 없는거 같데요.
그래서
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=12663
이거를 사용해 봤는데요. 게시판마다 원하는 갯수만큼 글쓰기 제한이 잘되는데
문제가 하루가 지나도 리셋이 않되네요. 한번 글올리고 다른사람이 그 게시판에 추가글을
올리지 않으면 영원히 기다려야하는 문제가...
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($is_dhtml_editor) {
include_once("$g4[path]/lib/cheditor.lib.php");
echo "<script src='$g4[editor_path]/cheditor.js'></script>";
echo cheditor1('wr_content', $content);
}
//다른 회원 글 작성전 2개까지 제한
if ($w == "") {
$mb_id = $member['mb_id'];
$mb_name = $member['mb_name'];
$sql = " select wr_name, mb_id from {$g4[write_prefix]}{$bo_table} where wr_is_comment = '0' order by wr_id desc limit 0, 2 ";
$result = sql_query($sql);
$mb_id1 = mysql_result($result,0,"mb_id"); // 1번글 아이디
$mb_id2 = mysql_result($result,1,"mb_id"); // 2번글 아이디
if(($mb_id == $mb_id1) && ($mb_id == $mb_id2)) {
alert("$mb_name($mb_id)님 다른분이 글 작성 전에는 연속으로 2개까지만 작성 제한 게시판입니다!!");
}
} // 글작성 제한 끝
?>
위 소스는 이건데요. 하루지나면 리셋되게 가능한가요?
아님 다른 좋은 방법이 있으면 자세히 알려주세요.
생초짜라 조금 어려우면 이해를 못합니다.^^;
사이트 게시판 전체 하루 글쓰기 00개가 아닌
각 게시판마다 2~3개씩 글쓰기를 제한하려고 하는데요.
하루지나면 리셋되서 다시 게시판마다 2~3개글을 올릴수 있게요.
한 게시판에 막 퍼날르는거를 방지하려고 합니다.
그래서 이것저것 찾아봤는데 올라온글중에는 적용이 제대로 되는거 없는거 같데요.
그래서
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=12663
이거를 사용해 봤는데요. 게시판마다 원하는 갯수만큼 글쓰기 제한이 잘되는데
문제가 하루가 지나도 리셋이 않되네요. 한번 글올리고 다른사람이 그 게시판에 추가글을
올리지 않으면 영원히 기다려야하는 문제가...
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if ($is_dhtml_editor) {
include_once("$g4[path]/lib/cheditor.lib.php");
echo "<script src='$g4[editor_path]/cheditor.js'></script>";
echo cheditor1('wr_content', $content);
}
//다른 회원 글 작성전 2개까지 제한
if ($w == "") {
$mb_id = $member['mb_id'];
$mb_name = $member['mb_name'];
$sql = " select wr_name, mb_id from {$g4[write_prefix]}{$bo_table} where wr_is_comment = '0' order by wr_id desc limit 0, 2 ";
$result = sql_query($sql);
$mb_id1 = mysql_result($result,0,"mb_id"); // 1번글 아이디
$mb_id2 = mysql_result($result,1,"mb_id"); // 2번글 아이디
if(($mb_id == $mb_id1) && ($mb_id == $mb_id2)) {
alert("$mb_name($mb_id)님 다른분이 글 작성 전에는 연속으로 2개까지만 작성 제한 게시판입니다!!");
}
} // 글작성 제한 끝
?>
위 소스는 이건데요. 하루지나면 리셋되게 가능한가요?
아님 다른 좋은 방법이 있으면 자세히 알려주세요.
생초짜라 조금 어려우면 이해를 못합니다.^^;
댓글 전체
웬만한거는 다 찾아서 봤습니다.^^ 적어주신 것도 적용해봤고요. 게시판 전체 갯수제한이였던거 같습니다. 그래서 하루사용해보고 되돌렸습니다.
글쓰기 이벤트를 하고있기때문에 한군데 게시판에 몰아서 달리는걸 방지하려고 합니다.
글쓰기 이벤트를 하고있기때문에 한군데 게시판에 몰아서 달리는걸 방지하려고 합니다.
임시 테이블 생성후 하루가 지나면 파기
[write_update.head.skin.php]
===================================================================================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/**
* 특정기간 글작성 개수를 제한한다.(현재시간 기준)
*/
if ( $w == "" && $member['mb_id'] )
{
$_limit_day = 1; // 일수
$_limit_mb_id = 3; // 등록할 수 있는 글 수
$res = sql_fetch("SELECT COUNT(*) AS cnt FROM ".$write_table." WHERE mb_id = '".$member['mb_id']."' AND wr_datetime >= DATE_ADD(CURDATE(), INTERVAL -".$_limit_day." DAY)");
if ( $res['cnt'] >= $_limit_mb_id )
{
alert("아이디(".$member['mb_id'].")는 ".$_limit_day."일동안 ".$_limit_mb_id."개의 글을 작성할 수 있습니다.");
}
}
/**
* 하루 글작성 개수를 제한한다.(오늘기준 00:00:00 ~ 23:59:59)
*/
if ( $w == "" && $member['mb_id'] )
{
$_limit_mb_id = 3; // 하루에 등록할 수 있는 글 수
$res = sql_fetch("SELECT COUNT(*) AS cnt FROM ".$write_table." WHERE mb_id = '".$member['mb_id']."' AND wr_datetime BETWEEN DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d 00:00:00') AND DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d 23:59:59')");
if ( $res['cnt'] >= $_limit_mb_id )
{
alert("아이디(".$member['mb_id'].")는 하루에 ".$_limit_mb_id."개의 글을 작성할 수 있습니다.");
}
}
?>
===================================================================================
스킨폴더로 업로드 하시거나
적당한거 골라서 write_update.php 파일 상단에 붙여 넣으시면 될거 같네요..
1. 현재시간을 기준으로 하루전을 체크
2. 오늘을 기준(00:00:00~23:59:59)를 체크
+ 로그인 + 글작성 시간 적용됨
+ 이건 간단한 방법, 많은 수의 레코드가 있는 상황에서 좀 더 나은 성능을 위해선 다른 방법을 적용해야 함
===================================================================================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/**
* 특정기간 글작성 개수를 제한한다.(현재시간 기준)
*/
if ( $w == "" && $member['mb_id'] )
{
$_limit_day = 1; // 일수
$_limit_mb_id = 3; // 등록할 수 있는 글 수
$res = sql_fetch("SELECT COUNT(*) AS cnt FROM ".$write_table." WHERE mb_id = '".$member['mb_id']."' AND wr_datetime >= DATE_ADD(CURDATE(), INTERVAL -".$_limit_day." DAY)");
if ( $res['cnt'] >= $_limit_mb_id )
{
alert("아이디(".$member['mb_id'].")는 ".$_limit_day."일동안 ".$_limit_mb_id."개의 글을 작성할 수 있습니다.");
}
}
/**
* 하루 글작성 개수를 제한한다.(오늘기준 00:00:00 ~ 23:59:59)
*/
if ( $w == "" && $member['mb_id'] )
{
$_limit_mb_id = 3; // 하루에 등록할 수 있는 글 수
$res = sql_fetch("SELECT COUNT(*) AS cnt FROM ".$write_table." WHERE mb_id = '".$member['mb_id']."' AND wr_datetime BETWEEN DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d 00:00:00') AND DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d 23:59:59')");
if ( $res['cnt'] >= $_limit_mb_id )
{
alert("아이디(".$member['mb_id'].")는 하루에 ".$_limit_mb_id."개의 글을 작성할 수 있습니다.");
}
}
?>
===================================================================================
스킨폴더로 업로드 하시거나
적당한거 골라서 write_update.php 파일 상단에 붙여 넣으시면 될거 같네요..
1. 현재시간을 기준으로 하루전을 체크
2. 오늘을 기준(00:00:00~23:59:59)를 체크
+ 로그인 + 글작성 시간 적용됨
+ 이건 간단한 방법, 많은 수의 레코드가 있는 상황에서 좀 더 나은 성능을 위해선 다른 방법을 적용해야 함
스킨 폴더 write.skin.php에 적용하니까 적용이 잘 되는데요. 하루지나봐야 리셋되는거는 확인되겠지만. 문제점이 있네요. 최고관리자도 제한에 걸리네요^^;;
위에 제가 적은거도 이게 걸리던데 이부분을 깜빡했습니다. 이부분 제어 가능할까요?
위에 제가 적은거도 이게 걸리던데 이부분을 깜빡했습니다. 이부분 제어 가능할까요?
if ( $w == "" && $member['mb_id'] )
요거를 아래로 변경~
if ( $w == "" && $member['mb_id'] && !$is_admin )
====================================================================
또는.... 레벨로 제한할 경우
if ( $w == "" && $member['mb_id'] && $member['mb_level'] <= 2 )
이거는 회원레벨이 2보다 작다면이니까, 관리자는 9, 10 정도일테니.. 안걸리겠죠??
요거를 아래로 변경~
if ( $w == "" && $member['mb_id'] && !$is_admin )
====================================================================
또는.... 레벨로 제한할 경우
if ( $w == "" && $member['mb_id'] && $member['mb_level'] <= 2 )
이거는 회원레벨이 2보다 작다면이니까, 관리자는 9, 10 정도일테니.. 안걸리겠죠??
1, 2번 둘중하나를 적용하셔야 하는거 잊으시면 안되요~
둘다 나름대로 기능이 다르니까요...
1번은 테스트 아이디 생성하셔서 글 쭉 등록하시면 테스트 가능할 것 같은데요??
2번은 지금 3개 등록해 두고.. 이따가 00:00:00 되면 다시 3개 등록이 가능한지 확인해보면 알겠죠??
둘다 나름대로 기능이 다르니까요...
1번은 테스트 아이디 생성하셔서 글 쭉 등록하시면 테스트 가능할 것 같은데요??
2번은 지금 3개 등록해 두고.. 이따가 00:00:00 되면 다시 3개 등록이 가능한지 확인해보면 알겠죠??
정말 감사합니다 ^^ 위에꺼로 적용하니까 잘 되네요. 덕분에 1주일넘게 찾아헤메던게 해결됬습니다.^^
댓다구리님 스킨을 수정하는 것도 좋지만 저도 수정하다보니 너무 너저분하고 업데이트가 힘들어져서 나중에는 힘들더군요. 혹시 기능을 또 수정할 일이 없다면야 모르겠지만 이 곳에 그런 기능을 가진 좋은 게시판스킨 많으니 그런 것을 사용한번 해 보실 것을 추천합니다. 배추게시판스킨검색해서 설치해보세요. 무료에다 기능이 만만찮습니다. ^^ 고수님들이 잘 맹글어놨더라구요 ㅎㅎ
글쓰기제한(스킨적용)
하루 글쓰기 제한 하는방법
하루 한번 글쓰기
짱~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!