0
有很多問題關於這個問題,但我想他們都不能幫助我在我的情況。我會告訴你我的登錄表單,我的主頁,顯示活動用戶,並且對啓動lastTimeUpdate函數有點困惑。 這裏是我的主要問題形式,問題是有活躍用戶的列表,如果用戶活躍,他的名字顯示,如果不是 - 不顯示,但如果用戶退出瀏覽器,會話銷燬,但沒有註銷:在瀏覽器關閉註銷
<?php
include 'config.php';
//include 'logout.php';
$query = "SELECT * FROM userinfo WHERE `ifactive` = 1";
if(isset($_SESSION['uname'])){
$result = mysql_query($query);
echo "<div id=maincontenttopleft>
<p>Active users</p>";
echo "<div id=acuser><table id=activeusers>";
while($row = mysql_fetch_array($result)){
echo "</td><td>" . $row['name'] . "</td></tr>";
}
echo "</table></div>";
mysql_close();
}
//if (session_destroy()) {
//mysql_query("SELECT * FROM `userinfo` WHERE `ifactive` = 1 AND `uname` !=
'$_SESSION[uname]'");
//mysql_query("UPDATE `userinfo` SET `ifactive` = 0 WHERE `uname` !=
'$_SESSION[uname]'") or die(mysql_error());
//}
if (!isset($_SESSION['uname'])) {
$_SESSION['uname'] = time();
} else if (time() - $_SESSION['uname'] > 10) {
// session started more than 30 minutes ago
//mysql_query("SELECT * FROM `userinfo` WHERE `ifactive` = 1 AND `uname` =
'$_SESSION[uname]'");
//mysql_query("UPDATE `userinfo` SET `ifactive` = 0 WHERE `uname` =
'$_SESSION[uname]'") or die(mysql_error());
session_regenerate_id(true); // change session ID for the current session an
invalidate old session ID
$_SESSION['uname'] = time(); // update creation time
}
?>
我想檢查是否有一個銷燬的會話,根據名稱將此會話結束的名稱設置爲我的布爾(ifactive)爲零。你能幫助我瞭解它的邏輯嗎?
好吧,但因爲我有我的會話存儲在臨時文件夾中,我可以只檢查這種文件的存在,而不將它存儲在我的數據庫中,我想會話文件是MD5哈希? – user3351517
只有名稱被散列,我看到 – user3351517
不確定,查看會話中的php文檔以獲取更多信息 –