화니

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

· 2004-09-09 (목) 13:31:23 · 3451
그누보드는 세션을 사용하여 브라우져를 끄면 다시 카운트가 증가합니다.
이걸 쿠키방식으로 변경했습니다.

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 팁자료실

1,026건
+
제목 글쓴이 날짜 조회
04-09-20 조회 3,539
04-09-19 조회 3,351
04-09-19 조회 2,822
04-09-19 조회 2,932
04-09-19 조회 3,222
04-09-19 조회 3,179
04-09-17 조회 3,359
04-09-14 조회 3,199
04-09-13 조회 3,236
mmando
04-09-12 조회 4,566
04-09-11 조회 2,826
04-09-10 조회 3,093
04-09-10 조회 3,096
mmando
04-09-10 조회 4,377
04-09-09 조회 3,452
04-09-09 조회 3,653
04-09-09 조회 3,921
04-09-08 조회 3,751
04-09-07 조회 3,629
04-09-04 조회 3,173