테스트 사이트 - 개발 중인 베타 버전입니다

출석부 채택완료

https://sir.kr/g5_plugin/3063

해피정님이 올려주신 출석부입니다.

 

 

</p>

<p><?php

include_once("./_common.php");</p>

<p>// 비회원

if (!$is_member) {

    alert("로그인 후 이용하세요.");

}</p>

<p>// 출석 시간 체크

if (date("H:i:s") < $att_start_time || date("H:i:s") > $att_end_time) {

    alert("출석 시간이 아닙니다.");

}</p>

<p>// 총출석일수

$sql = " select sumday from {$g5['attendance_table']} where mb_id = '{$member['mb_id']}' order by datetime desc ";

$row = sql_fetch($sql);

// 총출석일

$sumday = $row['sumday'] + 1;</p>

<p>// 오늘 출석했나?

$sql = " select * from {$g5['attendance_table']} where mb_id = '{$member['mb_id']}' and substring(datetime,1,10) = '".G5_TIME_YMD."' ";

$check = sql_fetch($sql);</p>

<p>// 출석했다면.

if ($check['mb_id']) {

    alert("이미 출석 하였습니다.");

}</p>

<p>// 1일 뺀다.

$day = date("Y-m-d", G5_SERVER_TIME - (1 * 86400));</p>

<p>// 어제 출석했나?

$sql = " select * from {$g5['attendance_table']} where mb_id = '{$member['mb_id']}' and substring(datetime,1,10) = '{$day}' ";

$row = sql_fetch($sql);</p>

<p>// 1일 포인트

$sql_point = $att_day_point;

    

// 어제 출석했다면

if ($row['mb_id']) {

    // 전체 개근에 오늘 합산

    $sql_day = $row['day'] + 1;</p>

<p>    // 지난 개근체크에 오늘 합산

    $sql_reset = $row['reset'] + 1;

    $sql_reset2 = $row['reset2'] + 1;

    $sql_reset3 = $row['reset3'] + 1;

    

    if ($sql_reset == 7) { // 7일 개근

        $sql_reset  = "0"; 

        $sql_point  = $sql_point + $att_week_point;

    }

    

    if ($sql_reset2 == 30) { // 30일 개근

        $sql_reset2 = "0"; 

        $sql_point  = $sql_point + $att_month_point;

    }

    

    if ($sql_reset3 == 365) {  // 365일 개근

        $sql_reset3 = "0"; 

        $sql_point  = $sql_point + $att_year_point;

    }

} else { // 출석하지 않았다면

    // 전체 개근 설정

    $sql_day = "1";</p>

<p>    // 리셋

    $sql_reset  = "1";

    $sql_reset2 = "1";

    $sql_reset3 = "1";

}</p>

<p>// 첫출근

$sql = " select count(*) as cnt, rank from {$g5['attendance_table']} where substring(datetime,1,10) = '".G5_TIME_YMD."' ";

$first = sql_fetch($sql);</p>

<p>// 아무도 없다면..

$rank = "";

if (!$first['cnt'] && $first['rank'] != 1) { // 1등 포인트

    $sql_point = $sql_point + $att_first_point;

    $rank = 1;

} elseif ($first['cnt'] == 1 && $first['rank'] != 2) { // 2등 포인트 

    $sql_point = $sql_point + $att_second_point; 

    $rank = 2;

} elseif ($first['cnt'] == 2 && $first['rank'] != 3) { // 3등 포인트 

    $sql_point = $sql_point + $att_third_point; 

    $rank = 3;

}</p>

<p>// 기록

$sql = " insert into {$g5['attendance_table']}

            set mb_id = '{$member['mb_id']}',

                subject = '{$_POST['subject']}',

                day = '{$sql_day}',

                sumday = '{$sumday}',

                reset = '{$sql_reset}',

                reset2 = '{$sql_reset2}',

                reset3 = '{$sql_reset3}',

                point = '{$sql_point}',

                rank = '{$rank}',

                datetime = '".G5_TIME_YMDHIS."' ";

sql_query($sql);</p>

<p>// 출석 포인트 지급

insert_point($member['mb_id'], (int)($sql_point * 1), "출석 포인트", "@attendance", $member['mb_id'], G5_TIME_YMD);</p>

<p>// 완료

alert("출석체크완료", "./attendance.php");

?>

 

위와같이 되어있는데. 

여기서 포인트 지급이 7일 30일 365일 이렇게 되어있습니다.

 

 

그럼 7일 마다 포인트 지급인가요?

 

아니면 딱 7.30.365일 이렇게 해당일에만 지급인가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

소스 코드를 보면 7일, 30일, 365일 개근 일 때만 실행됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고