在这里,我发布了一个示例代码,它给了我正确的结果。这意味着如果我在 60 秒内不执行任何操作,那么我会自动从页面注销。让下面的代码
<?php
session_start();
// set time-out period (in seconds)
$inactive = 600;
// check to see if $_SESSION["timeout"] is set
if (isset($_SESSION["timeout"])) {
// calculate the session's "time to live"
$sessionTTL = time() - $_SESSION["timeout"];
if ($sessionTTL > $inactive) {
session_destroy();
header("Location: /logout.php");
}
}
$_SESSION["timeout"] = time();
现在的问题是,在 ISSET() 函数内部,我们正在计算 $sessionTTL。现在我们有两个操作数,第一个是 time(),它给出了当前时间,第二个是 $_SESSION["timeout],这个超时也包含当前时间,所以两者的差异始终为零。那么这段代码是如何确定我空闲了 60 秒并且能够销毁会话的。请解释一下这背后的概念!