2017-09-16 182 views
-1

我有一個代碼,它在10秒鐘不活動後爲我提供session_timeout在php中登錄會話

<?php 
function isLoginSessionExpired() { 
    $login_session_duration = 10; 
    $current_time = time(); 
    if(isset($_SESSION['loggedin_time']) and isset($_SESSION["user_id"])){ 
     if(((time() - $_SESSION['loggedin_time']) > $login_session_duration)){ 
      return true; 
     } 
    } 
} 
?> 

幫助我編輯代碼,使session_timeout即使在刷新頁面後也能正常工作。

意味着如果用戶刷新頁面5s後,那麼就應該算在剩餘時間和不應該下手0s

回答

0

設置用戶首次訪問時間爲會話。然後檢查差異,請嘗試下面的代碼。

function isLoginSessionExpired() { 

    if(!isset($_SESSION['first_visit'])) 
    { 
    $_SESSION['first_visit']=time(); 
    }else{ 
     $login_session_duration = 10; 
     $current_time = time(); 
     if(isset($_SESSION['loggedin_time']) and isset($_SESSION["user_id"])){ 
      if(((time() - $_SESSION['first_visit']) > $login_session_duration)){ 
       return true; 
      } 
     } 
    } 
    }