2017-08-25 64 views
1

当用户没有活动时,如何超时会话? 这里是我的代码,其名称为session.php文件:当用户没有活动时的超时会话

<?php 
    require_once('conn.php'); 
    session_start(); 

    $user_check = $_SESSION['login_user']; 

    $ses_sql = mysqli_query($conn, "select * from employee where Username = '$user_check'"); 

    $row = mysqli_fetch_array($ses_sql, MYSQLI_ASSOC); 

    $login_session = $row['EmployeeName']; 

    if (!isset($_SESSION['login_user'])) { 
     header("location:index.php"); 
    } 
?> 
+0

看看http://php.net/manual/en/sessionhandler.gc.php –

+0

Php可以观看会话超时。编辑'php.ini'。 –

回答

1

包含该代码放到你想重定向到登录后的个人资料页面首先计算这样的时间。

<script> 
var sec = 0; 
var min = 0; 
var hrs = 0; 

function time() { 

    if (sec<=59) { 
     sec++; 
     if (sec<10) { 
     sec="0"+sec; 
     } 
     if (sec>59) { 
      sec=0; 
      min++; 

      if (min>59) { 
       min=0; 
       hrs++; 

       if (hrs>24) { 
        hrs=0; 
       }; 
      }; 
     }; 

    }; 


    document.getElementById("time").innerHTML=hrs+":"+min+":"+sec; 

} 
function tick() { 
    if (min<10) { 
     min="0"+min; 
     } 

    if (hrs<10) { 
     hrs="0"+hrs; 
    } 
} 
window.onload=function() { 
    tick(); 
    setInterval(time,1000); 
} 

</script> 

这会给你的时间。之后,这样做。假设你想在30秒内计时。这里login.php是注销后重定向的任何常用页面。

<script> 
if(sec == 30){ 
</script> 
    <?php 
    $_SESSION["login_user"] = NULL; 
    redirect_to("login.php"); 
    ?> 
<script> 
} 
</script> 

我希望这会奏效。