使用以下php脚本。如何在用户注销之前激活会话。它每30分钟(大约)退出一次。或者,如果注销用户重定向到最后一页被访问。
<?PHP
require_once("./include/membersite_config.php");
if(!$fgmembersite->CheckLogin())
{ $loggedin="0";} else { $loggedin="1"; }
if ($loggedin=="1") {echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('You are already signed in. Please continue to use')
window.history.back();
</SCRIPT>");
exit; }
if(isset($_POST['submitted']))
{
if($fgmembersite->Login())
{
$fgmembersite->RedirectToURL("Upload.php");
}
}
?>
function CheckLogin()
{
session_start();
$sessionvar = $this->GetLoginSessionVar();
if(empty($_SESSION[$sessionvar]))
{
return false;
}
return true;
}
答案 0 :(得分:0)
这是一个PHP配置问题。如果您没有访问php.ini文件或者不想弄乱它,那么您可以做的是每次进入页面时都将当前页面保存在数据库的表格中(它应该具有与用户表的关系),当用户在30分钟限制后注销时,您只需从数据库中检索该值。
您可以使用$_SERVER['PHP_SELF']
获取当前网址。要检查用户注销是否只保存会话变量,并且每次页面加载时都执行:
if(!isset($_SESSION['userid'])){
// redirect to the page in the database table
header("Location: ".$field_from_db);
}
希望它有所帮助!