[英]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.