일정기간동안 로그인이 없으면 포인트 0으로 만들기 정보
일정기간동안 로그인이 없으면 포인트 0으로 만들기본문
제목 그대로,
일정기간..(예를들면 3달, 6달..또는 100일, 300일)동안
로그인을 하지 않으면 보유포인트가 모두 0으로 셋팅되게 하고 싶습니다.
현재는 매일 로그인 할때마다 200포인트씩 주고 있는데
위 기능이 있으면 회원관리에 도움이 될것 같아서 글 올립니다.
가능하면,
완전한 소스로 부탁드릴께요..
댓글 전체
별걸 다 만듭니다. ㅎㅎㅎ
테스트 페이지
http://www.morssola.com/test.php (개인정보상 끝에 두자리는 별표시 했어요. ^^)
본문 소스
=============================================================
<?
include_once("./_common.php");
$g4[title] = "죽음이 갈라놓을 때까지, 모르솔라";
include_once("$g4[path]/head.sub.php");
$login_time = "30"; //지난 몇일 동안?
$today_login_time = date("Y-m-d H:i:s", $g4['server_time'] - ($login_time * 86400));
//페이지
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' ";
$nologin_row = sql_fetch($nologin_sql);
$total_count = $nologin_row[cnt];
//$nologin_rows = $config[cf_page_rows]; //환경설정에 있는 페이지
$nologin_rows = 15; //수동으로 페이지
$total_page = ceil($total_count / $nologin_rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $nologin_rows; // 시작 열을 구함
//처음 출력
$nologin_sql2 = " select * from $g4[member_table] where mb_today_login < '$today_login_time' order by mb_today_login desc limit $from_record, $nologin_rows ";
$nologin_result2 = sql_query($nologin_sql2);
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
?>
<table style='border:1px solid #EEEEEE;' width="100%" cellpadding="0" cellspacing="0" border="0" align="center" valign="top">
<tr height="30">
<td width="30%" align="center">닉네임(아이디)</td>
<td width="30%" align="center">마지막로그인</td>
<td width="40%" align="center">포인트</td>
</tr>
<?
for ($i=0; $nologin = sql_fetch_array($nologin_result2); $i++) {
// 포인트 제거
//insert_point($nologin[mb_id], -$nologin[mb_point], "비로그인", "@No-login", $nologin[mb_id], $g4[time_ymd]);
?>
<tr>
<td bgcolor="#EEEEEE" width="100%" height="1" colspan="3"></td>
</tr>
<tr height="30">
<td width="30%" align="center"><?=$nologin[mb_nick]?>(<?=$nologin[mb_id]?>)</td>
<td width="30%" align="center"><?=$nologin[mb_today_login]?></td>
<td width="40%" align="center"><?=$nologin[mb_point]?></td>
</tr>
<? } ?>
</table>
<p>
<?=$pagelist?>
<?
include_once("$g4[path]/tail.sub.php");
?>
테스트 페이지
http://www.morssola.com/test.php (개인정보상 끝에 두자리는 별표시 했어요. ^^)
본문 소스
=============================================================
<?
include_once("./_common.php");
$g4[title] = "죽음이 갈라놓을 때까지, 모르솔라";
include_once("$g4[path]/head.sub.php");
$login_time = "30"; //지난 몇일 동안?
$today_login_time = date("Y-m-d H:i:s", $g4['server_time'] - ($login_time * 86400));
//페이지
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' ";
$nologin_row = sql_fetch($nologin_sql);
$total_count = $nologin_row[cnt];
//$nologin_rows = $config[cf_page_rows]; //환경설정에 있는 페이지
$nologin_rows = 15; //수동으로 페이지
$total_page = ceil($total_count / $nologin_rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $nologin_rows; // 시작 열을 구함
//처음 출력
$nologin_sql2 = " select * from $g4[member_table] where mb_today_login < '$today_login_time' order by mb_today_login desc limit $from_record, $nologin_rows ";
$nologin_result2 = sql_query($nologin_sql2);
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
?>
<table style='border:1px solid #EEEEEE;' width="100%" cellpadding="0" cellspacing="0" border="0" align="center" valign="top">
<tr height="30">
<td width="30%" align="center">닉네임(아이디)</td>
<td width="30%" align="center">마지막로그인</td>
<td width="40%" align="center">포인트</td>
</tr>
<?
for ($i=0; $nologin = sql_fetch_array($nologin_result2); $i++) {
// 포인트 제거
//insert_point($nologin[mb_id], -$nologin[mb_point], "비로그인", "@No-login", $nologin[mb_id], $g4[time_ymd]);
?>
<tr>
<td bgcolor="#EEEEEE" width="100%" height="1" colspan="3"></td>
</tr>
<tr height="30">
<td width="30%" align="center"><?=$nologin[mb_nick]?>(<?=$nologin[mb_id]?>)</td>
<td width="30%" align="center"><?=$nologin[mb_today_login]?></td>
<td width="40%" align="center"><?=$nologin[mb_point]?></td>
</tr>
<? } ?>
</table>
<p>
<?=$pagelist?>
<?
include_once("$g4[path]/tail.sub.php");
?>
위 코드 중 포인트 제거 주석처리를 풀면 포인트가 0으로 될 겁니다.
물론 테스트는 안 해봤지만요... ^^
물론 테스트는 안 해봤지만요... ^^
아이고, 감사드립니다.
근데 이걸 어떻게 써먹는건가요?
위처럼 파일을 하나 만들어서 불러오면 테스트페이지처럼 나올텐데
주석을 풀고 수동으로 위 페이지를 불러와야 0으로 되는건가요?
(주석을 푼다는건 insert앞에 //를 없애라는 말씀이죠? ㅠ.ㅠ)
근데 이걸 어떻게 써먹는건가요?
위처럼 파일을 하나 만들어서 불러오면 테스트페이지처럼 나올텐데
주석을 풀고 수동으로 위 페이지를 불러와야 0으로 되는건가요?
(주석을 푼다는건 insert앞에 //를 없애라는 말씀이죠? ㅠ.ㅠ)