한 게시판에 한번만 글을 쓸 수 있게하려면요 ...! 정보
한 게시판에 한번만 글을 쓸 수 있게하려면요 ...!본문
한 게시판에 같은 이이디로 한번만 글을 쓰게 할수는 없는지요.
예)자유 게시판이 있다고 치고요 여기에 한 아이디로 1회만 글을 쓸 수 있게 하고 싶습니다.
2번째 글은 쓸 수 없게 ....
2번째 글을 쓰려면..
이미 글을 쓰셨습니다. 이전 게시물을 삭제하셔야 글 쓰기가 가능합니다.
이런 메세지를 전달하려면요. (관리자는 제외)
항상 질문에 친절히 답해주시는 그누의 고수님들에게 감사드립니다.
댓글 전체
이전에 '헐랭이'님께서 게재해 주신 하단의 팁을 참조하시기 바랍니다.
sir.co.kr/bbs/tb.php/g4_tiptech/2081/cb227d2446773ed3096073c7ea509302
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남기신 글이 있으므로 더이상 글쓰기를 하실수가 없습니다.");
}
}
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?>">
--------아하 생략 -------------------
이렇게 되어있는데 글이 여전히 써지네요.
위의 구문을 적용해 보았습니다 ..
게시판 관리 설정에 글 쓰기권한을 레벨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이라는 테이블이 존재합니까?)
둘째. 둘러볼 수 있는 링크주소와 테스트용 아이디의 언급은 필수일 듯 합니다.
첫째. 게시판을 제대로 설정하셨습니까?
(forum이라는 게시판 즉, g4_write_forum이라는 테이블이 존재합니까?)
둘째. 둘러볼 수 있는 링크주소와 테스트용 아이디의 언급은 필수일 듯 합니다.
나스카님 감사합니다..
> $table_name ="forum"; //적용할 게시판을 넣어주세요
이걸 설정 않했군요 ..
에효 ... 언제나 나스카님 정도의 실력이 되려나 ... 공부 넘 힘들어용 ... -_-;ㅋ
> $table_name ="forum"; //적용할 게시판을 넣어주세요
이걸 설정 않했군요 ..
에효 ... 언제나 나스카님 정도의 실력이 되려나 ... 공부 넘 힘들어용 ... -_-;ㅋ
실력이라고 할 것 까지는 없습니다.
단지 일반적인 경우라고 가정한다면,
프로그래머가 어떤 산물을 생성할 때는,
주석문에 문제해결의 실마리를
직·간접적으로 기재한다는 것을 잊지 않았을 뿐입니다.
단지 제가 한 거라곤...
'주석문'을 유심히 살폈을 뿐입니다.
단지 일반적인 경우라고 가정한다면,
프로그래머가 어떤 산물을 생성할 때는,
주석문에 문제해결의 실마리를
직·간접적으로 기재한다는 것을 잊지 않았을 뿐입니다.
단지 제가 한 거라곤...
'주석문'을 유심히 살폈을 뿐입니다.
네 ~~ !!
참 ... 위의 적용된 스킨에 다른 게시판에서도 적용하려면
$table_name ="forum,forum2,forum3,forum4,forum5";
이런식으로 게시판 이름을 추가 하면 되겠지요 ...???? 맞나요 ...???
참 ... 위의 적용된 스킨에 다른 게시판에서도 적용하려면
$table_name ="forum,forum2,forum3,forum4,forum5";
이런식으로 게시판 이름을 추가 하면 되겠지요 ...???? 맞나요 ...???
> $table_name ="forum,forum2,forum3,forum4,forum5";
이것은 하나의 변수 즉, 하나의 테이블로 인식하게 됩니다.
if ~ else if ~ else 등의 구문을 사용하는 직관적인 방법도 있겠지만,
explode 구분자를 지정하고 특정한 내용을 추출하는 방식이 나을 듯 하군요.
구분자로 추출하는 방법은 'explode' 또는 '구분자'라는 키워드로 찾아 보시기 바랍니다.
이것은 하나의 변수 즉, 하나의 테이블로 인식하게 됩니다.
if ~ else if ~ else 등의 구문을 사용하는 직관적인 방법도 있겠지만,
explode 구분자를 지정하고 특정한 내용을 추출하는 방식이 나을 듯 하군요.
구분자로 추출하는 방법은 'explode' 또는 '구분자'라는 키워드로 찾아 보시기 바랍니다.
네 .... !!!
감사합니다. 열심히 검색해보고 배우겠습니다.
감사합니다. 열심히 검색해보고 배우겠습니다.