첨부파일 24시간동안만 다운받고 지나면 포인트 또 깎이게 하고 싶은데요.. 정보
첨부파일 24시간동안만 다운받고 지나면 포인트 또 깎이게 하고 싶은데요..
본문
안녕하세요
게시판에 글을 작성할 때 첨부파일을 올려서 사람들이 다운받을 때 일정 포인트를 요구하고 싶습니다.
그리고 그 회원이 포인트로 다운받고 24시간동안에는 무료로 무제한으로 다운받을 수 있게하고, 24시간이 지난 후에는 또다시 포인트를 지불해야만 다운로드 받을 수 있도록 가능할까요??
그리고.. 또 한가지.. 첨부파일을 다운받을때마다 포인트가 소진되게 하는 방법도 있을까요??
검색을 해 봤는데, 한번만 포인트 지불하고, 그 뒤로는 포인트 지출없이 다운받는 기능만 있던것 같더라구요..ㅠㅜ
댓글 전체

가능합니다.^^*
download.php 또는 download.skin.php을 보시면 될것 같구요. 글쓴날자를 기점으로 24시간 계산되게해서 다운로드 포인트 관련 처리를 하시면될것같습니다.
download.php 또는 download.skin.php을 보시면 될것 같구요. 글쓴날자를 기점으로 24시간 계산되게해서 다운로드 포인트 관련 처리를 하시면될것같습니다.
우선 첫번째 질문이신 '포인트로 다운받고 24시간동안 무료로 무제한 다운 ...' 은
제 생각으로는 쿠키로 체크하시는게 편할 듯 합니다.
예를 들어서 다운을 받을때 그 글에대한 쿠키를 생성하고 다음에 받을때 쿠키가 있는지 체크하여 포인트 삭감
여부를 체크하게 하시면 될 듯합니다.
$down_chk = get_cookie("쿠키명");
if ($down_chk != '1'){
포인트 삭감;
set_cookie('쿠키명','1',time()+60*60*24);
}
쿠키명은 게시물코드_게시물번호 등으로 하시거나 파일명을로 하시면 될듯 합니다.
위처럼 time()+60*60*24 를 하시면 총 24시간동안 쿠키가 유지됨으로 24시간 안에 포인트 삭감없이
다운로드 받을 수 있습니다.
그리고 두번째 질문인 '첨부파일을 다운받을때마다 포인트가 소진되게 하는 방법' 은
그누보드 bbs/ 폴더 안에 download.php 파일을 열어보시면 44번째 라인에
// 게시물당 한번만 차감하도록 수정
이라는 주석을 보실 수 있을 겁니다. 그 밑에 45번째 라인인
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
를 // 로 주석 처리해 주시면 됩니다.
제 생각으로는 쿠키로 체크하시는게 편할 듯 합니다.
예를 들어서 다운을 받을때 그 글에대한 쿠키를 생성하고 다음에 받을때 쿠키가 있는지 체크하여 포인트 삭감
여부를 체크하게 하시면 될 듯합니다.
$down_chk = get_cookie("쿠키명");
if ($down_chk != '1'){
포인트 삭감;
set_cookie('쿠키명','1',time()+60*60*24);
}
쿠키명은 게시물코드_게시물번호 등으로 하시거나 파일명을로 하시면 될듯 합니다.
위처럼 time()+60*60*24 를 하시면 총 24시간동안 쿠키가 유지됨으로 24시간 안에 포인트 삭감없이
다운로드 받을 수 있습니다.
그리고 두번째 질문인 '첨부파일을 다운받을때마다 포인트가 소진되게 하는 방법' 은
그누보드 bbs/ 폴더 안에 download.php 파일을 열어보시면 44번째 라인에
// 게시물당 한번만 차감하도록 수정
이라는 주석을 보실 수 있을 겁니다. 그 밑에 45번째 라인인
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
를 // 로 주석 처리해 주시면 됩니다.

자세한 설명과 답변 감사드립니다.
그런데..
쿠키명은 게시물코드_게시물번호 등으로 하시거나 파일명을로 하시면 될듯 합니다.
이 말씀은 게시물 하나하나 지정을 해 줘야하는건가요??
한 게시판 스킨에 적용을 하거나, 아니면 전체 게시판에 모두 동일하게 적용할 수 있는 방법은 없을까요?
그런데..
쿠키명은 게시물코드_게시물번호 등으로 하시거나 파일명을로 하시면 될듯 합니다.
이 말씀은 게시물 하나하나 지정을 해 줘야하는건가요??
한 게시판 스킨에 적용을 하거나, 아니면 전체 게시판에 모두 동일하게 적용할 수 있는 방법은 없을까요?
게시물코드_게시물번호 라고 말씀 드린건 예를 들어
set_cookie($board[bo_table] . "_" . $list[$i][num], '1', time()+60*60*24);
과 같이
코드로 게시물마다 다르게 생성되게 하시라는 말입니다 ^^;;
set_cookie($board[bo_table] . "_" . $list[$i][num], '1', time()+60*60*24);
과 같이
코드로 게시물마다 다르게 생성되게 하시라는 말입니다 ^^;;
한 게시판 스킨에 적용을 하거나, 아니면 전체 게시판에 모두 동일하게 적용할 수 있는 방법은 없을까요?
이 말씀이 무슨 말씀이신지 잘 이해가 안되는데... 좀 쉽게 말해 주시면 ... ^^;;;
이 말씀이 무슨 말씀이신지 잘 이해가 안되는데... 좀 쉽게 말해 주시면 ... ^^;;;

아..그 말은..
위에서 설명된 파일명이 해당 게시판 스킨의 view.skin.php파일인가요??
아니면 download.php파일인지요..
아래 설명에서 downloan.php파일 설명이 있는것을 봐서는 위에것은 다른 파일인것 같은데,
혹시나 view.skin.php파일이라면 상관이 없겠네요^^
제가 잠시 착각을 한 것 같아요..
한 게시판 스킨에 적용하거나, 전체에 적용한다는 말이..
coment님께서 설명해주신 내용이 download.php파일에서 전부 수정이 되는줄 알았어요^^;
제가 이해한대로 view.skin.php파일에서 수정된다면 그 스킨이 있는 게시판에만 적용이 되니..상관이 없겠네요^^;
그런데 제가 이해한대로 view.skin.php파일이 맞을까요?
위에서 설명된 파일명이 해당 게시판 스킨의 view.skin.php파일인가요??
아니면 download.php파일인지요..
아래 설명에서 downloan.php파일 설명이 있는것을 봐서는 위에것은 다른 파일인것 같은데,
혹시나 view.skin.php파일이라면 상관이 없겠네요^^
제가 잠시 착각을 한 것 같아요..
한 게시판 스킨에 적용하거나, 전체에 적용한다는 말이..
coment님께서 설명해주신 내용이 download.php파일에서 전부 수정이 되는줄 알았어요^^;
제가 이해한대로 view.skin.php파일에서 수정된다면 그 스킨이 있는 게시판에만 적용이 되니..상관이 없겠네요^^;
그런데 제가 이해한대로 view.skin.php파일이 맞을까요?
음... 제가 파일명을 말씀 안드린건 어디에 붙이더라도 상관없지만 약간의 수정이 필요합니다.
만약 스킨에 따라 포인트 삭감 여부가 필요하시다면 view.skin.php 파일에 적용하시되
download.php 파일을 참고하셔서 파일의 다운로드가 view.skin.php 파일에서 바로 될 수 있게 수정하셔야
합니다. 하지만 제 생각에는 view.skin.php 에서 수정하는 거보다 download.php파일을 복사하셔서
download2.php 를 만드시고 그곳에 쿠키를 적용하시는고 skin에서는 링크만 download2.php 파일로 하시는걸
권해드리고 싶네요
만약 스킨에 따라 포인트 삭감 여부가 필요하시다면 view.skin.php 파일에 적용하시되
download.php 파일을 참고하셔서 파일의 다운로드가 view.skin.php 파일에서 바로 될 수 있게 수정하셔야
합니다. 하지만 제 생각에는 view.skin.php 에서 수정하는 거보다 download.php파일을 복사하셔서
download2.php 를 만드시고 그곳에 쿠키를 적용하시는고 skin에서는 링크만 download2.php 파일로 하시는걸
권해드리고 싶네요

다운로드시 포인트 차감 인서트문에서 중복 차감을 못하게 되어 있는걸 이걸 풀어야 하는데
// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
위 코드에서 날짜 적용을 시키면 가능 합니다.
// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "$g4[time_ymd]다운로드");
// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
위 코드에서 날짜 적용을 시키면 가능 합니다.
// 게시물당 한번만 차감하도록 수정
insert_point($member[mb_id], $board[bo_download_point], "$board[bo_subject] $wr_id 파일 다운로드", $bo_table, $wr_id, "$g4[time_ymd]다운로드");