我有一个页面session.php文件和我的代码是:如何设置会话超时代码PHP
@session_start();
if(!isset($_SESSION['uname']) || $_SESSION['uname'] == " " || !isset($_SESSION['uid']) || $_SESSION['uid'] == " ")
{
echo "<script language='javascript'>";
echo "window.location='../index.php'";
echo "</script> ";
exit;
}
而且我也想编辑会话超时功能,这个代码是:
$_SESSION['start'] = time(); // taking now logged in time
$_SESSION['expire'] = $_SESSION['start'] + (1* 10) ; // ending a session in 30 seconds
$now = time(); // checking the time now when home page starts
if($now > $_SESSION['expire'])
{
session_destroy();
echo "Your session has expire ! <a href='logout.php'>Click Here to Login</a>";
}
else
{
echo "This should be expired in 1 min <a href='logout.php'>Click Here to Login</a>";
}
但是,这段代码无法正常工作,请帮助我如何在session.php页面中设置会话超时。
谢谢。
从上面发布的代码,您似乎总是设置加载页面时的会话开始时间。因此,会话永远不会过期,因为两个'time()'语句之间的时间差异非常小。 – Caramiriel
检查此链接 http://stackoverflow.com/questions/3068744/php-session-timeout – atluriajith
检查这一点 - https://stackoverflow.com/questions/520237/how-do-i-expire-a -php-session-after-30-minutes?answertab =最老的#tab-top –