0

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

1 回答 1

0

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

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

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

希望能帮助到你!

于 2013-07-30T19:29:09.853 回答