【问题标题】:Expire a PHP session after 1 hour?1 小时后使 PHP 会话过期?
【发布时间】:2016-05-22 04:02:54
【问题描述】:

我是 php 编码的新手,我真的很想弄清楚这个登录脚本。
在我的 index.php 文件中,我有这段代码

<?Php
session_start();
include 'check.php';}
?>

在我的 check.php 文件中我有这段代码

<?Php
if((isset($_SESSION['userid']) and strlen($_SESSION['userid']) > 4)){

echo "";
}else{
header("Location: login.php");
die();
exit;}
?>

我如何创建一个超时函数以在 1 小时后重定向到 logout.php

【问题讨论】:

标签: php login timestamp timeout logout


【解决方案1】:

最好的解决方案是实现你自己的会话超时。

$_SESSION['LAST_ACTIVITY']=time();
$_SESSION['userid']='Your ID';

并添加这个,

<?Php
  session_start();
  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
}
  include 'check.php';}
?>

【讨论】:

  • 我在哪里输入此代码?在 index.php 或 check.php 中?
  • 在会话开始前的 index.php 中
  • 这是我的代码。 还是不行。
  • 那就试试这个,ini_set('session.gc_maxlifetime', 3600); session_set_cookie_params(3600); session_start();
  • 当前代码:ini_set('session.gc_maxlifetime', 1); session_set_cookie_params(1); session_start();包括'check.php';
猜你喜欢
  • 2014-07-31
  • 2014-05-27
  • 2018-03-04
  • 1970-01-01
  • 2011-04-15
  • 2016-11-11
  • 2015-05-10
  • 2011-04-07
  • 1970-01-01
相关资源
最近更新 更多