화니

읽은수, 다운로드수 중복 카운트 방지

· 21년 전 · 2678
그누보드는 세션을 사용하여 브라우져를 끄면 다시 카운트가 증가합니다.
이걸 쿠키방식으로 변경했습니다.

bbs/gbview.php 을 수정하시면 됩니다.

-----------------------원본-------------------
// 3.23
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!$_SESSION[$ss_name]) {
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");

if ($member[mb_id]) {
insert_point($member[mb_id], $default[de_read_point], "$board[bo_subject] $wr_id 글읽기");
}

session_register($ss_name);
$$ss_name = $_SESSION[$ss_name] = TRUE;
}
---------------------------수정-----------------------

// 3.23
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}";
$cookie=$_COOKIE[$ss_name];
$cookie_arr=explode("|",$cookie);
if(!in_array($wr_id, $cookie_arr))
{
setcookie ($ss_name, $cookie.$wr_id."|",time()+3600*24*365);

sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");

if ($member[mb_id]) {
insert_point($member[mb_id], $default[de_read_point], "$board[bo_subject] $wr_id 글읽기");
}
}

-------------------------------------------------

----------------다운로드수 수정---------------
bbs/gbdownload.php 입니다.
-------------------원본-----------------
$ss_name = "ss_view_{$bo_table}_{$wr_id}";

if (!$_SESSION[$ss_name])
alert("값을 제대로 넘겨주세요.");
-----------------------------------------

-------------------수정------------------
$ss_name = "ss_view_{$bo_table}";
if(!$_COOKIE[$ss_name])
alert("정상적인 경로로 다운로드 해주세요.");
-----------------------------------------

-------------------원본------------------
$ss_name = "ss_down_{$bo_table}_{$wr_id}_{$index}";
if (!$_SESSION[$ss_name]) {
$sql = " update $write_table
set wr_file{$index}_download = wr_file{$index}_download + 1
where wr_id = '$wr_id' ";
sql_query($sql);

session_register($ss_name);
$$ss_name = $_SESSION[$ss_name] = TRUE;
}
-----------------------------------------------

-----------------------수정-------------------
$ss_name = "ss_down_{$bo_table}";
$ss_value="{$wr_id}_{$index}";
$cookie=$_COOKIE[$ss_name];
$cookie_arr=explode("|",$cookie);
if(!in_array($ss_value, $cookie_arr))
{
setcookie ($ss_name, $cookie.$ss_value."|",time()+3600*24*365);

$sql = " update $write_table
set wr_file{$index}_download = wr_file{$index}_download + 1
where wr_id = '$wr_id' ";
sql_query($sql);
}
---------------------------------------------
|
댓글을 작성하시려면 로그인이 필요합니다.

그누3 팁자료실

+
제목 글쓴이 날짜 조회
21년 전 조회 2,415
21년 전 조회 2,600
21년 전 조회 2,423
21년 전 조회 2,458
mmando
21년 전 조회 2,803
21년 전 조회 2,085
21년 전 조회 2,320
21년 전 조회 2,323
mmando
21년 전 조회 2,615
21년 전 조회 2,679
21년 전 조회 2,851
21년 전 조회 3,196
21년 전 조회 3,029
21년 전 조회 2,917
21년 전 조회 2,449
21년 전 조회 2,851
21년 전 조회 3,059
21년 전 조회 2,773
21년 전 조회 2,547
21년 전 조회 3,321
🐛 버그신고