관리자님의 일정기간 홈페이지 접속이 없으면 포인트 차감하는 소스 웹적용..
관리자께서 올려주신 '일정기간 홈페이지 접속이 없으면 포인트 차감하는 프로그램 소스코드'
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=selfpds&page=1&wr_id=1320
는 cron 사용이 불가능할경우 적용할수 없습니다.
그래서 위 스크립트를 수정하여 웹에서 적용 가능하도록 만들었습니다.
단, 자동적으로 실행되는것은 아니고..
gnu3/bbs/admin 에 아래의 스크립트나 또는 첨부파일을 저장한후에..
http://도메인/gnu3/?doc=bbs/admin/pointdel.php
위 처럼 웹에서 하루 한번 실행해주면 포인트가 삭감됩니다.
세션을 이용하여 하루 한번 이상 실행불가능하게 했습니다.
=============== 내용 =================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
define("_GNUADMIN_", "DEFAULT");
include "./bbs/admin/admin.lib.php";
// 몇일간 접속이 없는가?
$days = 3;
// 차감 포인트
$point = 1000;
/***********************************************
$days 일이상 접속이 없으면 포인트를 감소시키는 프로그램
***********************************************/
$nowtime = time();
if ($HTTP_SESSION_VARS["ss_point_time"]) {
$last = date('Ymd', $HTTP_SESSION_VARS["ss_point_time"]);
$nowdate = date('Ymd', $nowtime);
$next = $nowdate + 1;
if ($last <= $nowtime) {
alert("오늘은 이미 실행했습니다.");
}
}
session_register("ss_point_time");
$ss_point_time = $HTTP_SESSION_VARS["ss_point_time"] = $nowtime;
$count = 1;
$default = sql_fetch(" select * from $cfg[table_default] ");
$gap = date("Y-m-d", $nowtime - 86400 * $days);
$sql = " select mb_id, mb_point from $cfg[table_member]
where mb_today_login < '$gap' ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
if ($row[mb_point] > $point) {
$ppp = $point;
} else {
$ppp = $row[mb_point];
}
insert_point($row[mb_id], (-1) * $ppp, "{$days}일 이상 접속 없음");
$count++;
}
echo "<span style='font-size:9pt;'>총 {$count}건의 회원포인트가 삭감 되었습니다.</span>";
?>
<p><input type=button value='뒤로' onclick='history.go(-1);'>
=============================================
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=selfpds&page=1&wr_id=1320
는 cron 사용이 불가능할경우 적용할수 없습니다.
그래서 위 스크립트를 수정하여 웹에서 적용 가능하도록 만들었습니다.
단, 자동적으로 실행되는것은 아니고..
gnu3/bbs/admin 에 아래의 스크립트나 또는 첨부파일을 저장한후에..
http://도메인/gnu3/?doc=bbs/admin/pointdel.php
위 처럼 웹에서 하루 한번 실행해주면 포인트가 삭감됩니다.
세션을 이용하여 하루 한번 이상 실행불가능하게 했습니다.
=============== 내용 =================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
define("_GNUADMIN_", "DEFAULT");
include "./bbs/admin/admin.lib.php";
// 몇일간 접속이 없는가?
$days = 3;
// 차감 포인트
$point = 1000;
/***********************************************
$days 일이상 접속이 없으면 포인트를 감소시키는 프로그램
***********************************************/
$nowtime = time();
if ($HTTP_SESSION_VARS["ss_point_time"]) {
$last = date('Ymd', $HTTP_SESSION_VARS["ss_point_time"]);
$nowdate = date('Ymd', $nowtime);
$next = $nowdate + 1;
if ($last <= $nowtime) {
alert("오늘은 이미 실행했습니다.");
}
}
session_register("ss_point_time");
$ss_point_time = $HTTP_SESSION_VARS["ss_point_time"] = $nowtime;
$count = 1;
$default = sql_fetch(" select * from $cfg[table_default] ");
$gap = date("Y-m-d", $nowtime - 86400 * $days);
$sql = " select mb_id, mb_point from $cfg[table_member]
where mb_today_login < '$gap' ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
if ($row[mb_point] > $point) {
$ppp = $point;
} else {
$ppp = $row[mb_point];
}
insert_point($row[mb_id], (-1) * $ppp, "{$days}일 이상 접속 없음");
$count++;
}
echo "<span style='font-size:9pt;'>총 {$count}건의 회원포인트가 삭감 되었습니다.</span>";
?>
<p><input type=button value='뒤로' onclick='history.go(-1);'>
=============================================
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 6개
나라오름님 고맙습니다
저를 비롯해서 많은분(까만도둑님, 7쟁이님 ....)께서
좋아 하실듯 합니다.
좋은 휴일 보내세요.
궁시렁: 다음에 기회되면 모임에 나오시구요.^^
멋진데요. 수고하셨습니다.
그런데, 웹에서 세션을 자주 비워주는 습관(?)이 있는 홈페이지 관리자는,
적용에 신경을 써야 할것 같네요.
나라오름님 감사합니다. ^^*