在PHP中经过一定时间后的session_destroy() [英] session_destroy() after certain amount of time in PHP
问题描述
我当前正在将会话保存在表单页面中:
I am currently saving a session in my form page:
$ testingvalue =会话测试";
$testingvalue = "SESSION TEST";
$ _ SESSION ['testing'] = $ testingvalue;
$_SESSION['testing'] = $testingvalue;
在另一页上,我正在调用会话以使用值:
On another page I am calling the session to use the value:
<?php
session_start(); // make sure there is a session
echo $_SESSION['testing']; //prints SESSION TEST???
?>
现在我要使用
session_destroy();
session_destroy();
销毁会话.但是我想做的是经过2个小时后销毁会话.
to destroy the session. But what I would like to do is destroy the session after 2 hours have been passed.
关于该怎么做以及我应该放在哪里的任何想法?
Any idea on how to do it and also where should I put it?
我有这样的东西:
<?php
session_start();
// 2 hours in seconds
$inactive = 7200;
$session_life = time() - $_session['testing'];
if($session_life > $inactive)
{
session_destroy();
}
$_session['testing']=time();
echo $_SESSION['testing']; //prints NOTHING?
?>
那行得通吗?
如果我闲置了两个多小时,应该空白吗?:
If I am inactive for more than 2 hours this should be blank?:
echo $ _SESSION ['testing'];
echo $_SESSION['testing'];
推荐答案
类似的方法应该起作用
<?php
// 2 hours in seconds
$inactive = 7200;
ini_set('session.gc_maxlifetime', $inactive); // set the session max lifetime to 2 hours
session_start();
if (isset($_SESSION['testing']) && (time() - $_SESSION['testing'] > $inactive)) {
// last request was more than 2 hours ago
session_unset(); // unset $_SESSION variable for this page
session_destroy(); // destroy session data
}
$_SESSION['testing'] = time(); // Update session
这篇关于在PHP中经过一定时间后的session_destroy()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!