删除/定时/销毁多个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. Fullname
  2. Phonenumber
  3. Emailaddress

有没有人能好心地告诉我最好的方法,以便销毁多个变量,而不必为每个变量一遍又一遍地重复我的代码。

NewLeaner从我为你回答的最后一个问题中你知道,我自己还在学习基础知识,所以我还没有经验,但是我在编写自己的应用程序时克服了这样的问题,正如Darren在之前的评论中提到的,在数组中有一个变量值列表将允许你根据与会话变量值匹配的数组值来取消相应的相关会话。

下面是一个会话变量值的例子:
  1. 全称会话:$_SESSION['fullname']
  2. 电话号码会话:$_SESSION['Phonenumber']
  3. Emailaddress Session: $_SESSION['Emailaddress']

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

这将取消设置和删除上述会话,如Fullname, Phonenumber, Emailaddress和任何其他你想添加到数组。

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

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

希望这能再次帮助你!