修改会话超时

想象一下,存在一个登录页面和一个“登录”按钮。
单击该按钮后,会话开始,并设置变量。
配置了用于存储登录周期的会话变量。
然后,它被定向到用户主页。

让我们看看登录页面上的操作示例:

<?php
//开始会话
session_start();
$username = $_POST["username"];
if (isset($_POST["Login"])) {

  //创建会话变量
  $_SESSION["user"] = $username;

  //登录时间存储在会话变量中
  $_SESSION["login_time_stamp"] = time();
  header("Location:homepage.php");
}
?>

为了将会话保留在主页上,我们应该调用 session_start() 函数。
它允许从页面获取会话变量。
要计算当前时间,我们可以使用 time() 函数。
需要注意的是,登录时生成的会话变量与当前时间之间的差异不得超过所需的超时时间。
一旦持续时间超过,会话将被销毁。
因此,页面将被重定向到登录页面。

为了更好地了解主页上发生的事情,请查看以下示例:

<?php
session_start();
//检查会话是否已经开始
if (isset($_SESSION["user"])) {
  if (time() - $_SESSION["login_time_stamp"] > 600) {
    session_unset();
    session_destroy();
    header("Location:login.php");
  }
} else {
  header("Location:login.php");
}
?>

PHP 中的 session_start() 函数

此 PHP 函数用于启动新会话或者恢复现有会话。
一旦 session_start 运行,PHP 就会调用打开和读取会话保存处理程序。
它可以是一个内置的保存处理程序,它是默认提供的,也可以是 PHP 的扩展。

开始会话

现在,让我们看看如何使用 PHP 函数启动会话。

使用 session_start()

如果要使用 PHP 启动会话,可以使用 session_start() 函数。
使用的语法如下:

session_start();

生成会话变量

启动会话后,我们可以创建会话变量以供将来使用。

我们可以通过如下所示的操作来生成它们并将它们存储在变量中。

  • 生成会话变量 'var1' 并将值 3 分配给它:
$_SESSION['var1']=3;
  • 为会话分配一个变量:
$username="Michael";
$_SESSION['username']=$username;

销毁变量和会话

创建会话及其变量后,我们可以删除它们。

如果要删除特定会话,可以运行以下命令:

session_unset();

要完全销毁会话,我们可以这样做:

session_destroy();
在 PHP 中如何修改会话超时时间

通常,会保留会话以检查特定用户是否处于活动状态。

一旦用户处于非活动状态并忘记从网页注销,可能会导致安全问题。
因此,一旦浏览器关闭,默认情况下 PHP 会话就会被销毁。

其中我们将学习如何启动会话以及如何使用 PHP 准确地修改它。

日期:2020-06-02 22:15:50 来源:oir作者:oir