abcd라는 아이디의 포인트를 게시물이 읽힐때마다 삭감하고 싶습니다. 정보
abcd라는 아이디의 포인트를 게시물이 읽힐때마다 삭감하고 싶습니다.본문
// 게시물 작성자에게 포인트 지급
insert_point($write[mb_id], 3, "$board[bo_subject] '$write[wr_subject]' 파일을 '$smembeids'님이 조회", $bo_table, $wr_id, $smembeids);
insert_point($write[mb_id], 3, "$board[bo_subject] '$write[wr_subject]' 파일을 '$smembeids'님이 조회", $bo_table, $wr_id, $smembeids);
// 게시물 작성자에게 포인트 지급
insert_point(abcd, -3, "$board[bo_subject] '$write[wr_subject]' 파일을 '$smembeids'님에게 노출", $bo_table, $wr_id, $smembeids);
insert_point(abcd, -3, "$board[bo_subject] '$write[wr_subject]' 파일을 '$smembeids'님에게 노출", $bo_table, $wr_id, $smembeids);
위의 소스로 글쓴사람에게 게시물의 조회시 3점을 주고
abcd라는 사람에게는 무조건 -3점을 하려고 합니다.
근데 테스트 했는데 안되네요. 글쓴사람한테 3점이 올라가는데
abcd라는 사람의 포인트는 삭감이 안됩니다.
같은 소스가 2번 반복되었습니다. 제가 뭘 잘못한거죠?
댓글 전체
ㅎㅎ 제가 쓰고 있는 방식 이군요..
http://sir.co.kr/bbs/tb.php/g4_skin/39045 요 스킨 설치후
아래 보드php 소스로 고치신 다음 게시판 포인트 입력란에 -3 입력 하시면
적용 될겁니다..
<?
include_once("./_common.php");
if (!$board[bo_table])
{
if ($cwin) // 코멘트 보기
alert_close("존재하지 않는 게시판입니다.", $g4[path]);
else
alert("존재하지 않는 게시판입니다.", $g4[path]);
}
if ($write[wr_is_comment])
{
/*
if ($cwin) // 코멘트 보기
alert_close("코멘트는 상세보기 하실 수 없습니다.");
else
alert("코멘트는 상세보기 하실 수 없습니다.");
*/
goto_url("./board.php?bo_table=$bo_table&wr_id=$write[wr_parent]#c_{$wr_id}");
}
if (!$bo_table)
{
$msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";
if ($cwin) // 코멘트 보기
alert_close($msg);
else
alert($msg);
}
// wr_id 값이 있으면 글읽기
if ($wr_id)
{
// 글이 없을 경우 해당 게시판 목록으로 이동
if (!$write[wr_id])
{
$msg = "글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.";
if ($cwin)
alert_close($msg);
else
alert($msg, "./board.php?bo_table=$bo_table");
}
// 그룹접근 사용
if ($group[gr_use_access])
{
if (!$member[mb_id]) {
$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
if ($cwin)
alert_close($msg);
else
alert($msg, "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
// 그룹관리자 이상이라면 통과
if ($is_admin == "super" || $is_admin == "group")
;
else
{
// 그룹접근
$sql = " select count(*) as cnt
from $g4[group_member_table]
where gr_id = '$board[gr_id]' and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if (!$row[cnt])
alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", $g4[path]);
}
}
// 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
if ($member[mb_level] < $board[bo_read_level])
{
if ($member[mb_id])
alert("글을 읽을 권한이 없습니다.");
else
alert("글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
else
{
// 비밀글이라면
if (strstr($write[wr_option], "secret")) {
$ss_name = "ss_secret_{$bo_table}_$write[wr_num]";
//$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
// 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 패스워드를 묻지 않습니다.
// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
//if ("$bo_table|$write[wr_num]" != get_session("ss_secret"))
if (!get_session($ss_name))
goto_url("./password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
set_session($ss_name, TRUE);
}
}
/*
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
// 자신의 글이면 통과
if ($write[mb_id] && $write[mb_id] == $member[mb_id])
;
else
{
// 회원이상 글읽기가 가능하다면
if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}
}
*/
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
// 자신의 글이면 통과 || $is_admin
if ($write[mb_id] && $write[mb_id] == $member[mb_id])
;
else
{
/*
// 회원이상 글읽기가 가능하다면
if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}
*/
// 회원이상 글읽기가 가능하다면
if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 의 $write[wr_name] 님의 글읽기 차감", $bo_table, $wr_id, '읽기');
$numpoints = str_replace("-","","$board[bo_read_point]");
insert_point($write[mb_id], $numpoints, "$board[bo_subject] $wr_id 의 글읽기 $member[mb_nick] 님의 포인트 받기"," {$bo_table}{$member[mb_id]}", $wr_id, '받기');
// $sqlpo = " update $write_table set wr_9 =wr_9+$numpoints where wr_id = '$wr_id' ";
// sql_query($sqlpo);
}
}
set_session($ss_name, TRUE);
}
$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . strip_tags(conv_subject($write[wr_subject], 255));
}
else
{
if ($member[mb_level] < $board[bo_list_level])
{
if ($member[mb_id])
alert("목록을 볼 권한이 없습니다.");
else
alert("목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
if (!$page) $page = 1;
$g4[title] = "$group[gr_subject] > $board[bo_subject] $page 페이지";
}
include_once("$g4[path]/head.sub.php");
$width = $board[bo_table_width];
if ($width <= 100) $width .= '%';
// IP보이기 사용 여부
$ip = "";
$is_ip_view = $board[bo_use_ip_view];
if ($is_admin) {
$is_ip_view = true;
$ip = $write[wr_ip];
} else // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $write[wr_ip]);
// 분류 사용
$is_category = false;
$category_name = "";
if ($board[bo_use_category]) {
$is_category = true;
$category_name = $write[ca_name]; // 분류명
}
// 추천 사용
$is_good = false;
if ($board[bo_use_good])
$is_good = true;
// 비추천 사용
$is_nogood = false;
if ($board[bo_use_nogood])
$is_nogood = true;
$admin_href = "";
// 최고관리자 또는 그룹관리자라면
if ($member[mb_id] && ($is_admin == 'super' || $group[gr_admin] == $member[mb_id]))
$admin_href = "$g4[admin_path]/board_form.php?w=u&bo_table=$bo_table";
if (!($board[bo_use_comment] && $cwin))
include_once("./board_head.php");
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
if (!($board[bo_use_comment] && $cwin)) {
// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if ($wr_id)
include_once("./view.php");
// 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임
//if ($board[bo_use_list_view] || empty($wr_id))
if ($member[mb_level] >= $board[bo_list_level] && $board[bo_use_list_view] || empty($wr_id))
include_once ("./list.php");
include_once("./board_tail.php");
}
else
include_once("./view_comment.php");
echo "\n<!-- 사용스킨 : $board[bo_skin] -->\n";
include_once("$g4[path]/tail.sub.php");
?>
http://sir.co.kr/bbs/tb.php/g4_skin/39045 요 스킨 설치후
아래 보드php 소스로 고치신 다음 게시판 포인트 입력란에 -3 입력 하시면
적용 될겁니다..
<?
include_once("./_common.php");
if (!$board[bo_table])
{
if ($cwin) // 코멘트 보기
alert_close("존재하지 않는 게시판입니다.", $g4[path]);
else
alert("존재하지 않는 게시판입니다.", $g4[path]);
}
if ($write[wr_is_comment])
{
/*
if ($cwin) // 코멘트 보기
alert_close("코멘트는 상세보기 하실 수 없습니다.");
else
alert("코멘트는 상세보기 하실 수 없습니다.");
*/
goto_url("./board.php?bo_table=$bo_table&wr_id=$write[wr_parent]#c_{$wr_id}");
}
if (!$bo_table)
{
$msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";
if ($cwin) // 코멘트 보기
alert_close($msg);
else
alert($msg);
}
// wr_id 값이 있으면 글읽기
if ($wr_id)
{
// 글이 없을 경우 해당 게시판 목록으로 이동
if (!$write[wr_id])
{
$msg = "글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.";
if ($cwin)
alert_close($msg);
else
alert($msg, "./board.php?bo_table=$bo_table");
}
// 그룹접근 사용
if ($group[gr_use_access])
{
if (!$member[mb_id]) {
$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
if ($cwin)
alert_close($msg);
else
alert($msg, "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
// 그룹관리자 이상이라면 통과
if ($is_admin == "super" || $is_admin == "group")
;
else
{
// 그룹접근
$sql = " select count(*) as cnt
from $g4[group_member_table]
where gr_id = '$board[gr_id]' and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if (!$row[cnt])
alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", $g4[path]);
}
}
// 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
if ($member[mb_level] < $board[bo_read_level])
{
if ($member[mb_id])
alert("글을 읽을 권한이 없습니다.");
else
alert("글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
else
{
// 비밀글이라면
if (strstr($write[wr_option], "secret")) {
$ss_name = "ss_secret_{$bo_table}_$write[wr_num]";
//$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
// 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 패스워드를 묻지 않습니다.
// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
//if ("$bo_table|$write[wr_num]" != get_session("ss_secret"))
if (!get_session($ss_name))
goto_url("./password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
set_session($ss_name, TRUE);
}
}
/*
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
// 자신의 글이면 통과
if ($write[mb_id] && $write[mb_id] == $member[mb_id])
;
else
{
// 회원이상 글읽기가 가능하다면
if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}
}
*/
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
// 자신의 글이면 통과 || $is_admin
if ($write[mb_id] && $write[mb_id] == $member[mb_id])
;
else
{
/*
// 회원이상 글읽기가 가능하다면
if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
}
*/
// 회원이상 글읽기가 가능하다면
if ($board[bo_read_level] > 1) {
if ($member[mb_point] + $board[bo_read_point] < 0)
alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");
insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 의 $write[wr_name] 님의 글읽기 차감", $bo_table, $wr_id, '읽기');
$numpoints = str_replace("-","","$board[bo_read_point]");
insert_point($write[mb_id], $numpoints, "$board[bo_subject] $wr_id 의 글읽기 $member[mb_nick] 님의 포인트 받기"," {$bo_table}{$member[mb_id]}", $wr_id, '받기');
// $sqlpo = " update $write_table set wr_9 =wr_9+$numpoints where wr_id = '$wr_id' ";
// sql_query($sqlpo);
}
}
set_session($ss_name, TRUE);
}
$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . strip_tags(conv_subject($write[wr_subject], 255));
}
else
{
if ($member[mb_level] < $board[bo_list_level])
{
if ($member[mb_id])
alert("목록을 볼 권한이 없습니다.");
else
alert("목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
if (!$page) $page = 1;
$g4[title] = "$group[gr_subject] > $board[bo_subject] $page 페이지";
}
include_once("$g4[path]/head.sub.php");
$width = $board[bo_table_width];
if ($width <= 100) $width .= '%';
// IP보이기 사용 여부
$ip = "";
$is_ip_view = $board[bo_use_ip_view];
if ($is_admin) {
$is_ip_view = true;
$ip = $write[wr_ip];
} else // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $write[wr_ip]);
// 분류 사용
$is_category = false;
$category_name = "";
if ($board[bo_use_category]) {
$is_category = true;
$category_name = $write[ca_name]; // 분류명
}
// 추천 사용
$is_good = false;
if ($board[bo_use_good])
$is_good = true;
// 비추천 사용
$is_nogood = false;
if ($board[bo_use_nogood])
$is_nogood = true;
$admin_href = "";
// 최고관리자 또는 그룹관리자라면
if ($member[mb_id] && ($is_admin == 'super' || $group[gr_admin] == $member[mb_id]))
$admin_href = "$g4[admin_path]/board_form.php?w=u&bo_table=$bo_table";
if (!($board[bo_use_comment] && $cwin))
include_once("./board_head.php");
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
if (!($board[bo_use_comment] && $cwin)) {
// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if ($wr_id)
include_once("./view.php");
// 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임
//if ($board[bo_use_list_view] || empty($wr_id))
if ($member[mb_level] >= $board[bo_list_level] && $board[bo_use_list_view] || empty($wr_id))
include_once ("./list.php");
include_once("./board_tail.php");
}
else
include_once("./view_comment.php");
echo "\n<!-- 사용스킨 : $board[bo_skin] -->\n";
include_once("$g4[path]/tail.sub.php");
?>
그누보드 bbs의 보드php 입니다.
제가 질문한거랑 비슷한거 같지만 반대인거같습니다.
저는 게시물이 조회가 되면 글쓴사람에게 포인트를 주고
그리고 지정한사람(예로 abcd 라는 회원을 지정)의 포인트가 삭감되는겁니다.
음 위의 스킨은 읽은 사람의 포인트가 삭감되고
글쓴사람의 포인트가 증가되는 거 같습니다.
지정된 사람의 포인트를 삭감 하는것! 누가 읽든지 abcd라는 사람의 포인트가 삭감되는겁니다.
답변은 정말 감사합니다 하지만 제가 원하는답변가는 차이가 조금 있는거 같습니다
저는 게시물이 조회가 되면 글쓴사람에게 포인트를 주고
그리고 지정한사람(예로 abcd 라는 회원을 지정)의 포인트가 삭감되는겁니다.
음 위의 스킨은 읽은 사람의 포인트가 삭감되고
글쓴사람의 포인트가 증가되는 거 같습니다.
지정된 사람의 포인트를 삭감 하는것! 누가 읽든지 abcd라는 사람의 포인트가 삭감되는겁니다.
답변은 정말 감사합니다 하지만 제가 원하는답변가는 차이가 조금 있는거 같습니다
아 그랬군요 .. 그건 지식게시판이랑 비슷한거 같은데요...
sir지식게시판 고쳐서 쓰시면 될듯 하네요^^
sir지식게시판 고쳐서 쓰시면 될듯 하네요^^
오호 지식 게시판이라 좋은 정보 감사합니다 ㅋㅋ 님도 열공여
정보 감사드립니다.