한 게시판에 한번만 글을 쓸 수 있게하려면요 ...!

· 18년 전 · 1545 · 9
한 게시판에 같은 이이디로 한번만 글을 쓰게 할수는 없는지요.
 
예)자유 게시판이 있다고 치고요 여기에 한 아이디로 1회만 글을 쓸 수 있게 하고 싶습니다.
2번째 글은 쓸 수 없게 ....
 
2번째 글을 쓰려면..
 
이미 글을 쓰셨습니다. 이전 게시물을 삭제하셔야 글 쓰기가 가능합니다. 
이런 메세지를 전달하려면요.  (관리자는 제외)
 
 
 
항상 질문에 친절히 답해주시는 그누의 고수님들에게 감사드립니다.
 
|

댓글 9개

이전에 '헐랭이'님께서 게재해 주신 하단의 팁을 참조하시기 바랍니다.
sir.co.kr/bbs/tb.php/g4_tiptech/2081/cb227d2446773ed3096073c7ea509302
질/답 게시판에 수차례 언급이 되어 등록합니다.

bbs/write_update.php 의 검사루틴 부분에 추가 하거나
또는 스킨/write.skin.php 의 상단에 추가합니다.

//특정게시판에 회원별로 글한개만 남기게 할경우(관리자는 통과하고 수정은 가능하게)
$table_name ="forum"; //적용할 게시판을 넣어주세요.
$bo_table_name ="".$g4[write_prefix]."".$table_name."";
//회원이면서 관리자는 통과하고 수정은 가능하게
if(($member[mb_id] && !$is_admin && $w != "u") && $bo_table == $table_name){
//코멘트 와 답글, 종류는 전부 제외한 본인의 원글 갯수를 모두 가져오자
$ab_board =mysql_fetch_array(mysql_query("select count(*) from $bo_table_name where wr_is_comment ='0' and wr_reply ='' and mb_id ='$member[mb_id]'"));
$rowmember =$ab_board[0];
//1개이상 존재한다면
if($rowmember > 0){
alert("$member[mb_name] 님은 이미 이게시판에 $rowmember 개의 \\n남기신 글이 있으므로 더이상 글쓰기를 하실수가 없습니다.");
}
}
나스카님 Welch님 답변감사합니다.

위의 구문을 적용해 보았습니다 ..
게시판 관리 설정에 글 쓰기권한을 레벨2로 하고 있습니다만
무슨 이유에서인지 레벨2에서 계속 글 쓰기가 되는군요.

위의 구문을 적용한 게시판 write.ksin.php 상단입니다.

<?
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);
}
?>
<?
//특정게시판에 회원별로 글한개만 남기게 할경우(관리자는 통과하고 수정은 가능하게)
$table_name ="forum"; //적용할 게시판을 넣어주세요.
$bo_table_name ="".$g4[write_prefix]."".$table_name."";
//회원이면서 관리자는 통과하고 수정은 가능하게
if(($member[mb_id] && !$is_admin && $w != "u") && $bo_table == $table_name){
//코멘트 와 답글, 종류는 전부 제외한 본인의 원글 갯수를 모두 가져오자
$ab_board =mysql_fetch_array(mysql_query("select count(*) from $bo_table_name where wr_is_comment ='0' and wr_reply ='' and mb_id ='$member[mb_id]'"));
$rowmember =$ab_board[0];
//1개이상 존재한다면
if($rowmember > 0){
alert("$member[mb_name] 님은 이미 이게시판에 $rowmember 개의 \\n남기신 글이 있으므로 더이상 글쓰기를 하실수가 없습니다.");
}
}
?>
<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>

<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null>
<input type=hidden name=w value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<input type=hidden name=sca value="<?=$sca?>">
<input type=hidden name=sfl value="<?=$sfl?>">
<input type=hidden name=stx value="<?=$stx?>">
<input type=hidden name=spt value="<?=$spt?>">
<input type=hidden name=sst value="<?=$sst?>">
<input type=hidden name=sod value="<?=$sod?>">
<input type=hidden name=page value="<?=$page?>">
--------아하 생략 -------------------

이렇게 되어있는데 글이 여전히 써지네요.
> $table_name ="forum"; //적용할 게시판을 넣어주세요.

첫째. 게시판을 제대로 설정하셨습니까?
(forum이라는 게시판 즉, g4_write_forum이라는 테이블이 존재합니까?)

둘째. 둘러볼 수 있는 링크주소와 테스트용 아이디의 언급은 필수일 듯 합니다.
나스카님 감사합니다..


> $table_name ="forum"; //적용할 게시판을 넣어주세요

이걸 설정 않했군요 ..

에효 ... 언제나 나스카님 정도의 실력이 되려나 ... 공부 넘 힘들어용 ... -_-;ㅋ
실력이라고 할 것 까지는 없습니다.
단지 일반적인 경우라고 가정한다면,
프로그래머가 어떤 산물을 생성할 때는,
주석문에 문제해결의 실마리를
직·간접적으로 기재한다는 것을 잊지 않았을 뿐입니다.

단지 제가 한 거라곤...
'주석문'을 유심히 살폈을 뿐입니다.
네 ~~ !!

참 ... 위의 적용된 스킨에 다른 게시판에서도 적용하려면

$table_name ="forum,forum2,forum3,forum4,forum5";
이런식으로 게시판 이름을 추가 하면 되겠지요 ...???? 맞나요 ...???
> $table_name ="forum,forum2,forum3,forum4,forum5";
이것은 하나의 변수 즉, 하나의 테이블로 인식하게 됩니다.

if ~ else if ~ else 등의 구문을 사용하는 직관적인 방법도 있겠지만,
explode 구분자를 지정하고 특정한 내용을 추출하는 방식이 나을 듯 하군요.

구분자로 추출하는 방법은 'explode' 또는 '구분자'라는 키워드로 찾아 보시기 바랍니다.
네 .... !!!

감사합니다. 열심히 검색해보고 배우겠습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
18년 전 조회 1,549
18년 전 조회 1,901
18년 전 조회 1,514
18년 전 조회 1,889
18년 전 조회 1,574
18년 전 조회 1,691
18년 전 조회 1,516
18년 전 조회 1,520
18년 전 조회 1,534
18년 전 조회 1,546
19년 전 조회 1,535
19년 전 조회 1,525
19년 전 조회 1,370
19년 전 조회 1,178
19년 전 조회 1,224
19년 전 조회 1,967
19년 전 조회 1,622
19년 전 조회 1,530
19년 전 조회 1,422
19년 전 조회 1,681
🐛 버그신고