一次删除/定时/销毁多个 php 会话变量

Removing / Timing / Destroying out multiple php sessions variables at once

我试图让几个会话变量在 30 分钟时超时/销毁,但使用尽可能少但有效的代码。

目前我有以下两种解决方案:

if(isset($_SESSION['fullname']) && (time() - $_SESSION['fullname'] > 1800)) {
    session_unset();
    session_destroy();
}
$_SESSION['fullname'] = time();

  session_start();
  $user_inactive = 1800;
  $user_session = time() - $_SESSION['current_user'];
  if($user_session > $user_inactive) { 
     session_destroy(); 
     header("location: logout.php"); 
  }
  $_SESSION['current_user']=time();

这两个都适用于单个变量,但是我试图让它同时破坏多个变量,例如:

  1. 全名
  2. 电话号码
  3. 电子邮件地址

等等...

有人可以告诉我最好的方法来解决这个问题,以便销毁多个变量,而不必为每个变量一遍又一遍地复制我的代码。

NewLeaner 正如你从我为你回答的上一个问题中所知道的那样,我自己仍在学习基础知识,所以我还远没有经验,但是我在自己的应用程序编码过程中克服了这样的问题 ,在数组中包含变量值列表将允许您根据与会话变量值匹配的数组值相应地取消设置相关会话。

下面是您的会话变量值的示例:

  1. 全名会话:$_SESSION['fullname']
  2. 电话号码会话:$_SESSION['Phonenumber']
  3. 电子邮件地址会话:$_SESSION['Emailaddress']

$unset = array('Fullname','Phonenumber','Emailaddress'); 
foreach( $unset as $sessions ) {
    unset($_SESSION[$sessions]); 
}

这将取消设置并删除上述会话,例如全名、电话号码、电子邮件地址以及您希望添加到数组中的任何其他会话。

您可以使用单引号和逗号分隔向数组添加更多值,这是添加更多值的示例。

$unset = array('Fullname','Phonenumber','Emailaddress', 'Variable_4', 'Variable_5', 'Variable_6', 'Variable_7', 'And so on...');

希望这再次对您有所帮助!