使php会话处于活动状态,或者如果注销则返回上一页


Make php session active OR if logout return to previous page

使用以下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;
 }

这是一个PHP配置问题。如果您无法访问php.ini文件或不想破坏它,您可以做的是,每次输入页面时,都将当前页面保存在数据库的表中(它应该与用户表有关系),当用户在30分钟限制后注销时,您只需从数据库中检索该值。

您可以使用$_SERVER['PHP_SELF']获取当前URL。要检查用户注销是否只保存一个会话变量,每次加载页面时执行:

if(!isset($_SESSION['userid'])){
    // redirect to the page in the database table
    header("Location: ".$field_from_db);
}

希望它能有所帮助!

相关文章: