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

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

어느날우연이 1년 전 조회 1,300

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

 

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

 

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

어떻게 해야할까요?

 

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

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

답변 1개

채택된 답변
+20 포인트

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

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

 

</p>

<p><?php</p>

<p>class 포인트지급시스템 {

    private $포인트_지급_제한_시간 = 10; // 초 단위로 설정, 예: 10초</p>

<p>    public function 게시글작성($사용자, $게시글) {

        $현재_시간 = time(); // 현재 시간을 초로 얻음

        $게시글_작성_시간 = $사용자->게시글작성시간얻기($게시글);</p>

<p>        if (($현재_시간 - $게시글_작성_시간) <= $this->포인트_지급_제한_시간) {

            $this->포인트지급($사용자); // 포인트 지급 메서드 호출

            return "포인트 지급 완료";

        } else {

            return "포인트 지급 제한 시간이 지났습니다.";

        }

    }</p>

<p>    private function 포인트지급($사용자) {

        // 포인트 지급 로직

        $사용자->포인트증가(포인트_시스템->지급할_포인트);

    }

}</p>

<p>class 사용자 {

    private $이름;

    private $포인트 = 0;

    private $게시글_작성_시간 = array();</p>

<p>    public function __construct($이름) {

        $this->이름 = $이름;

    }</p>

<p>    public function 게시글작성($게시글) {

        $현재_시간 = time(); // 현재 시간을 초로 얻음

        $this->게시글_작성_시간[$게시글] = $현재_시간; // 게시글 작성 시간 기록

    }</p>

<p>    public function 게시글작성시간얻기($게시글) {

        return isset($this->게시글_작성_시간[$게시글]) ? $this->게시글_작성_시간[$게시글] : 0;

    }</p>

<p>    public function 포인트증가($포인트_양) {

        $this->포인트 += $포인트_양;

    }

}</p>

<p>// 사용 예시

$포인트_시스템 = new 포인트지급시스템();

$사용자 = new 사용자("사용자1");</p>

<p>// 게시글 작성

$사용자->게시글작성("첫 번째 게시글");</p>

<p>// 게시글 작성 시간을 기반으로 포인트 지급 시도

echo $포인트_시스템->게시글작성($사용자, "첫 번째 게시글");

 

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

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

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

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

로그인