링크 클릭 시 포인트 지급 게시판 제한 시간 변경 문의

링크 클릭 시 포인트 지급 게시판 제한 시간 변경 문의

QA

링크 클릭 시 포인트 지급 게시판 제한 시간 변경 문의

본문

https://amina.co.kr/bbs/board.php?bo_table=skin_member&wr_id=3790

 

위 링크에 있는 아미나용 게시판입니다.

 

스킨헤드에서 86400초를 10초로 변경 후 테스트 해보았는데 10초 이후에도 계속 포인트 지급 제한이 걸립니다. 원래 24시간인데 24시간보다 더 지나서도 계속 제한이 걸립니다. 시간 변경시 제대로 작동을 안함 ㅠ 

어떻게 해야할까요?

 

최종 적으로는 게시글 작성시 시간을 설정하고 싶은데 각 게시글에 포인트 지급 되는 링크 클릭 제한을 둘수있을까요?

이 질문에 댓글 쓰기 :

답변 1

예를 들어 다음과 같이 해볼 수 있을 것 같습니다.

참고하셔서 실제 상황에 맞게 로직을 구현 하시면 되지 않을까 합니다.

 


<?php
class 포인트지급시스템 {
    private $포인트_지급_제한_시간 = 10; // 초 단위로 설정, 예: 10초
    public function 게시글작성($사용자, $게시글) {
        $현재_시간 = time(); // 현재 시간을 초로 얻음
        $게시글_작성_시간 = $사용자->게시글작성시간얻기($게시글);
        if (($현재_시간 - $게시글_작성_시간) <= $this->포인트_지급_제한_시간) {
            $this->포인트지급($사용자); // 포인트 지급 메서드 호출
            return "포인트 지급 완료";
        } else {
            return "포인트 지급 제한 시간이 지났습니다.";
        }
    }
    private function 포인트지급($사용자) {
        // 포인트 지급 로직
        $사용자->포인트증가(포인트_시스템->지급할_포인트);
    }
}
class 사용자 {
    private $이름;
    private $포인트 = 0;
    private $게시글_작성_시간 = array();
    public function __construct($이름) {
        $this->이름 = $이름;
    }
    public function 게시글작성($게시글) {
        $현재_시간 = time(); // 현재 시간을 초로 얻음
        $this->게시글_작성_시간[$게시글] = $현재_시간; // 게시글 작성 시간 기록
    }
    public function 게시글작성시간얻기($게시글) {
        return isset($this->게시글_작성_시간[$게시글]) ? $this->게시글_작성_시간[$게시글] : 0;
    }
    public function 포인트증가($포인트_양) {
        $this->포인트 += $포인트_양;
    }
}
// 사용 예시
$포인트_시스템 = new 포인트지급시스템();
$사용자 = new 사용자("사용자1");
// 게시글 작성
$사용자->게시글작성("첫 번째 게시글");
// 게시글 작성 시간을 기반으로 포인트 지급 시도
echo $포인트_시스템->게시글작성($사용자, "첫 번째 게시글");

 

이렇게 하면 게시글 작성 시간을 확인하고, 일정 시간 내에 작성된 게시글에 대해 포인트를 지급하게 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 56
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT