Php 告诉用户会话已结束

Php 告诉用户会话已结束,php,html,echo,Php,Html,Echo,好的,下面有一些代码可以让用户在一段时间后注销网站。但是我需要帮助在login.php页面上回复您为什么注销,以便人们知道会话已经结束。有人能帮我解决这个问题吗。先谢谢你 if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800 )) { // last request was more than 30 minutes ago session_un

好的,下面有一些代码可以让用户在一段时间后注销网站。但是我需要帮助在login.php页面上回复您为什么注销,以便人们知道会话已经结束。有人能帮我解决这个问题吗。先谢谢你

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800 )) {
    // last request was more than 30 minutes ago
    session_unset();     // unset $_SESSION variable for the run-time 
    session_destroy();   // destroy session data in storage
}
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp


if (!isset($_SESSION['CREATED'])) {
    $_SESSION['CREATED'] = time();
} else if (time() - $_SESSION['CREATED'] > 1800 ) {
    // session started more than 30 minutes ago
    session_regenerate_id(true);    // change session ID for the current session an invalidate old session ID
    $_SESSION['CREATED'] = time();  // update creation time
}

您需要一些JavaScript/jQuery来检查会话的状态,并向最终用户发布注销通知。否则,用户只有在导航到另一个页面时才会看到注销通知,如果用户提交表单,这可能会导致数据丢失。销毁会话似乎没有多大意义,然后继续在下面几行中使用它……我只需将其放在未设置其中现有数据的位置,可能重新生成id–然后在会话中输入一个值,您可以在登录页面上再次读取该值,类似于$\u会话['reason\u for_logout']='timeout'…你也可以用它来缓解Marc指出的问题——如果用户发送数据,将其放入“净化”会话中,这样在用户再次登录后它仍然可用。这就是我试图做的。我想在登录时显示消息,但不知道如果没有活动,将永远不会检查超时。而是使用PHP计时器see:或javascript计时器see: