【发布时间】:2015-04-12 20:21:54
【问题描述】:
我在 PHP 网站工作。我想在我的网站中自动注销功能。 基于会话过期的自动注销功能。一旦会话过期注销 自动地。 但我无法确定会话如何过期以及如何注销 会话到期后。 请帮帮我...
【问题讨论】:
-
if(!$_SESSION){ header('Location: logout.php'); }
标签: php
我在 PHP 网站工作。我想在我的网站中自动注销功能。 基于会话过期的自动注销功能。一旦会话过期注销 自动地。 但我无法确定会话如何过期以及如何注销 会话到期后。 请帮帮我...
【问题讨论】:
if(!$_SESSION){ header('Location: logout.php'); }
标签: php
您只需要检查 $_SESSION 的值。如果其值为false,则重定向到注销页面或执行断开用户连接的功能。
【讨论】:
在您的会话中保存以下内容。
您上次执行操作的时间(在下面的示例中,我只是在刷新页面时执行的操作)
检查这两者之间的差异是否大于您希望自动超时的值。如果是,请参考注销,如果不是,请发送到请求的页面。
<?php
session_start();
if(!empty($_SESSION['user'])) {
if(isset($_SESSION['activiteit']) && (time() - $_SESSION['activiteit'] > 1800)){
session_unset();
session_destroy();
include_once('inc/admin/login.php');
} else {
include_once('inc/admin/adminpanel.php');
}
}else{
include_once('inc/admin/login.php');
}
$_SESSION['activiteit'] = time();
?>
所以从技术上讲,这里发生的是它从时间变量中减去活动变量。如果差异大于 1800,我将销毁并取消设置会话并将其引用到登录页面。如果没有,我将其提交给管理面板。如果用户根本没有会话用户,那么它会自动参考登录屏幕。
希望对你有帮助
【讨论】: