채택완료

팁에서 가져온겁니다

2020-10-28 (수) 18:49:45 2,298

<?
/////////////////////5분 후 자동 로그아웃 /////////////
if($member[mb_id]) 
{ 
    $checktime = mktime(date("H"),date("i")-30,date("s"),date("m"),date("d"),date("Y")); // 시간지정
     if($_SESSION['ss_login_time'] && ($_SESSION['ss_login_time'] < $checktime)) {
         // 페이지를 연 시점이 되어있고, 저장된 시간이 특정시간 이전일때 
        goto_url($g4['bbs_path']."/logout.php",$urlencode); // 강제 로그아웃 
    } else { 
        // 로그인 타임(페이지를 연 시간)이 없거나, 특정시간을 넘기지 않은 경우는 시간재저장 
        $login_time = mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")); // 현재시간 저장
         set_session("ss_login_time", $login_time); 
    } 
} 
?>

mktime(date("H"),date("i")-30,date("s"),date("m"),date("d"),date("Y")); //

이부분에 5분이라는게 없는거 같은데

왜 5분이라고 한걸까요?

30분동안 사용없으면 자동로그 아웃 시키려는데

어떻게 고쳐야 할까요?

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

date("i")-30

30분으로 되어 있네요..

답변에 대한 댓글 1개

2020-10-29 (목) 10:32:43
감사합니다. 잘되네요
Copy
/////////////////////30분 후 자동 로그아웃 /////////////
if($member[mb_id]) 
{

    $checkdate = strtotime("-30 seconds");

    $checktime = mktime(date("H", $checkdate),date("i", $checkdate),date("s", $checkdate),date("m",$checkdate),date("d", $checkdate),date("Y", $checkdate)); // 시간지정
     if($_SESSION['ss_login_time'] && ($_SESSION['ss_login_time'] < $checktime)) {
         // 페이지를 연 시점이 되어있고, 저장된 시간이 특정시간 이전일때 
        goto_url($g4['bbs_path']."/logout.php",$urlencode); // 강제 로그아웃 
    } else { 
        // 로그인 타임(페이지를 연 시간)이 없거나, 특정시간을 넘기지 않은 경우는 시간재저장 
        $login_time = mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")); // 현재시간 저장
         set_session("ss_login_time", $login_time); 
    } 
}

date("i") 만 계산하면 문제가 있을 것 같아서 strtotime으로 먼저 날짜연산한 후 처리하도록 구성해봤습니다.
테스트는 하지 않았습니다.

답변에 대한 댓글 1개

2020-10-29 (목) 10:47:21
파랑님 감사합니다.ㅎ

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