簡體   English   中英

將$ _session和session_start()與int列一起使用

[英]using $_session and session_start() with int column

我想檢查自會話啟動以來已經過去了多少時間,並與INT中的數據庫列值進行比較以查看其是否已過期並注銷用戶。 代替無效= 10; 在下面的代碼中,我想在INT中傳遞db列值

<?php require_once('Connections/noundb.php'); ?>
<?php
//initialize the session
if (!isset($_SESSION)) {
  session_start();
}
 $inactive = 10; // Set timeout period in seconds

if (isset($_SESSION['timeout'])) {
    $session_life = time() - $_SESSION['timeout'];
    if ($session_life > $inactive) {
        session_destroy();
        header("Location: l.php");
    }
}
$_SESSION['timeout'] = time();



// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
  $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
  //to fully log out a visitor we need to clear the session varialbles
  $_SESSION['MM_Username'] = NULL;
  $_SESSION['MM_UserGroup'] = NULL;
  $_SESSION['PrevUrl'] = NULL;
  unset($_SESSION['MM_Username']);
  unset($_SESSION['MM_UserGroup']);
  unset($_SESSION['PrevUrl']);

  $logoutGoTo = "l.php";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
  }
}
?>

我建議您先進行一次會話啟動,然后再執行一次,並且不要關閉和打開php標簽:這意味着要發送到客戶端的輸出,然后就無法啟動“托管”會話。

嘗試這個:

<?php
//initialize the session
if (!isset($_SESSION)) {
  session_start();
}

require_once('Connections/noundb.php');
// [other code ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM