我正在尝试将几个会话变量在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();
这些对于单个变量都可以正常工作,但是我试图在同一时间将这个变为多个变量,例如:
依此类推......
有人可以善意地告诉我最好的解决方法,以便销毁多个变量,而不必为每个变量反复复制我的代码。
答案 0 :(得分:2)
以下是会话变量值的示例:
$_SESSION['fullname']
$_SESSION['Phonenumber']
$_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...');
希望这有助于再一次!