게시판 카운터를 새로고침할 때마다 증가시키기 정보
게시판 카운터를 새로고침할 때마다 증가시키기
본문
게시판 카운터를 새로고침을 할 때마다 증가시키고 싶습니다.
comet님의 글 대로 하니 게시판 카운터는 새로고침을 할 때마다 증가를 합니다.
그런데, 첨부파일 다운로드가 안되더라구요.
게시판 카운터 증가나 첨부파일 다운로드를 문제 없이 할 수 있는 방법이 없을까요?
둘 중 하나는 포기를 해야하는 것인지. ㅠ.ㅠ
comet님의 글 내용입니다.
그누보드 bbs 폴더안에 board.php 파일을 여셔셔
119번째 라인에서
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$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, '읽기');
}
}
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, '읽기');
}
}
//set_session($ss_name, TRUE);
//}
이렇게 고쳐주시면 새로고침할때마다 카운트가 증가합니다.
이유를 설명드리면 그누보드에서는 한번 본 게시물은 쿠키를 생성하여 해당쿠기가 이미 존재하면 카운트를
증가 시키게 되어 있는데 위에서 보시는바와 같이 쿠키 생성과 쿠키를 체크하는 부분을 주석처리 해줌으로써
쿠키 존재여부를 떠나서 카운트가 증가되게 됩니다.
comet님의 글 대로 하니 게시판 카운터는 새로고침을 할 때마다 증가를 합니다.
그런데, 첨부파일 다운로드가 안되더라구요.
게시판 카운터 증가나 첨부파일 다운로드를 문제 없이 할 수 있는 방법이 없을까요?
둘 중 하나는 포기를 해야하는 것인지. ㅠ.ㅠ
comet님의 글 내용입니다.
그누보드 bbs 폴더안에 board.php 파일을 여셔셔
119번째 라인에서
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$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, '읽기');
}
}
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, '읽기');
}
}
//set_session($ss_name, TRUE);
//}
이렇게 고쳐주시면 새로고침할때마다 카운트가 증가합니다.
이유를 설명드리면 그누보드에서는 한번 본 게시물은 쿠키를 생성하여 해당쿠기가 이미 존재하면 카운트를
증가 시키게 되어 있는데 위에서 보시는바와 같이 쿠키 생성과 쿠키를 체크하는 부분을 주석처리 해줌으로써
쿠키 존재여부를 떠나서 카운트가 증가되게 됩니다.
댓글 전체
나스카님이 알려주신건 홈페이지 접속할 때 카운터 증가하는 것 아닌가요?
관심가져주셔서 고맙습니다.
ㅠ.ㅠ
관심가져주셔서 고맙습니다.
ㅠ.ㅠ
아... 제가 삼천포에서 제주감귤을 따시라고 알려 드렸군요.
죄송합니다. (ㅜ.x;)
-. /bbs/board.php의 원본 소스를 변경하시는 방법을 택하셨다면,
마찬가지로 /bbs/download.php도 원본 소스를 변경하시는 방법을 적용하시면 됩니다.
그런데 동일 세션에서의 처리를 현재 배포되고 있는 그누보드 원본소스처럼 처리한다는 것은,
보안상의 이유일 듯 합니다.
(이를테면 포인트 제도를 통해 쓰기/읽기/다운로드 등이 수행되고 있다고 가정한다면...)
-. /bbs/download.php의 52라인 정도
(원본)
// 다운로드 카운트 증가
$sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql);
set_session($ss_name, TRUE);
}
(수정)
// 다운로드 카운트 증가
$sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql);
//set_session($ss_name, TRUE);//즉, 최하단에서 동일 세션에 대한 처리 구문을 주석처리 하십시오.
}
-. 참조사항
이 외에도 원본 경로 및 소스파일(/bbs/*.php)의 변경을 꾀하지 않고,
조건분기(if ~ else, if ~ else if ~ else)에 따라서 각 게시판 스킨마다,
개별적으로 적용하는 방식을 생각해 볼 수도 있습니다.
즉, 첨부파일 다운로드시 액션이 /bbs/download.php를 통해 이루어지지만,
거의 동일한 소스코드를 갖는 download.php를 해당 게시판 스킨 경로에 복사해 두고,
download.skin.php나 view.skin.php에서 첨부파일의 액션 경로를,
$board_skin_path/download.php 와 같은 형태로 되돌리고,
직전에 수정된 소스코드에 기재한 set_session($ss_name, TRUE);이라는 구문을,
주석으로 처리하는 방식도 생각할 수 있습니다.
중요한 것은 사용자의 수정 및 운용 형태에 따라 선택방향이 달라지겠지요.
업그레이드의 편의성 때문에 개인적으로는 본 코멘트의 하단에서 언급한 방식을 선호합니다.
죄송합니다. (ㅜ.x;)
-. /bbs/board.php의 원본 소스를 변경하시는 방법을 택하셨다면,
마찬가지로 /bbs/download.php도 원본 소스를 변경하시는 방법을 적용하시면 됩니다.
그런데 동일 세션에서의 처리를 현재 배포되고 있는 그누보드 원본소스처럼 처리한다는 것은,
보안상의 이유일 듯 합니다.
(이를테면 포인트 제도를 통해 쓰기/읽기/다운로드 등이 수행되고 있다고 가정한다면...)
-. /bbs/download.php의 52라인 정도
(원본)
// 다운로드 카운트 증가
$sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql);
set_session($ss_name, TRUE);
}
(수정)
// 다운로드 카운트 증가
$sql = " update $g4[board_file_table] set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql);
//set_session($ss_name, TRUE);//즉, 최하단에서 동일 세션에 대한 처리 구문을 주석처리 하십시오.
}
-. 참조사항
이 외에도 원본 경로 및 소스파일(/bbs/*.php)의 변경을 꾀하지 않고,
조건분기(if ~ else, if ~ else if ~ else)에 따라서 각 게시판 스킨마다,
개별적으로 적용하는 방식을 생각해 볼 수도 있습니다.
즉, 첨부파일 다운로드시 액션이 /bbs/download.php를 통해 이루어지지만,
거의 동일한 소스코드를 갖는 download.php를 해당 게시판 스킨 경로에 복사해 두고,
download.skin.php나 view.skin.php에서 첨부파일의 액션 경로를,
$board_skin_path/download.php 와 같은 형태로 되돌리고,
직전에 수정된 소스코드에 기재한 set_session($ss_name, TRUE);이라는 구문을,
주석으로 처리하는 방식도 생각할 수 있습니다.
중요한 것은 사용자의 수정 및 운용 형태에 따라 선택방향이 달라지겠지요.
업그레이드의 편의성 때문에 개인적으로는 본 코멘트의 하단에서 언급한 방식을 선호합니다.
나스카님 너무 이렇게 관심가져 주셔서 고맙습니다.
현재 게시판 카운터만 새로고침할 때 증가를 하고 싶습니다. 그런데, comet님 처럼 해보니 게시판 카운터는 증가를 하지만, 첨부파일이 다운로드가 되지 않는 현상이 발상합니다.
그래서 새로고침할 때 게시판 카운터도 올리면서 첨부파일 다운로드도 잘 되는 방법을 질문한것입니다.
제가 질문을 오해가 있게 했나보네요. 아니면 답변에 대해 제가 이해를 못하고 있을 수도 있네요.
^^
현재 게시판 카운터만 새로고침할 때 증가를 하고 싶습니다. 그런데, comet님 처럼 해보니 게시판 카운터는 증가를 하지만, 첨부파일이 다운로드가 되지 않는 현상이 발상합니다.
그래서 새로고침할 때 게시판 카운터도 올리면서 첨부파일 다운로드도 잘 되는 방법을 질문한것입니다.
제가 질문을 오해가 있게 했나보네요. 아니면 답변에 대해 제가 이해를 못하고 있을 수도 있네요.
^^