在PHP中经过一定时间后的session_destroy() [英] session_destroy() after certain amount of time in PHP

查看:191
本文介绍了在PHP中经过一定时间后的session_destroy()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前正在将会话保存在表单页面中:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆