主题:求个session超时设置
hxf4244
[专家分:30] 发布于 2007-08-16 09:59:00
例如说:
一个用户登录后存入的$_SESSION["username"]
如何设置10分钟不做任何操作。并限制它登录超时,,请重新登录!
如果可以,提供代码!
回复列表 (共5个回复)
沙发
longlong16 [专家分:10670] 发布于 2007-08-16 10:08:00
思路:在登陆成功时记录session的时候,用个session["logintime"]记录登陆的时间,然后,每次操作前判断这个时间跟当前时间的差是否超过10种了,如果超过了则退出重新登陆,没有超过10分钟就更新logintime为当前时间.
3 楼
tangl198710 [专家分:0] 发布于 2007-11-05 17:56:00
不是很明白??如何判断呀;;
4 楼
淡淡的 [专家分:2030] 发布于 2007-11-06 17:26:00
这个是登录页login.php
<?php session_start();
session_destroy();
?>
<form action=over.php method=post>
<input type="text" name="name">
<input type="password" name="password">
<input type=submit name=submit value=submit>
</form>
下面这个是限制超时的那个页over.php
<?php session_start();
session_register(name);
session_register(password);
?>
<script language=javascript>
over();
var s=0;
function over(){
s++;
if(s==600)
{
window.location="login.php";
}
setTimeout("over();",1000); //参数1000相当于1秒
}
</script>
5 楼
淡淡的 [专家分:2030] 发布于 2007-11-06 18:39:00
4楼的两段程序是:10分钟不做任何操作,就自动转登录页。
下面的程序是按照1楼的思路做的:在操作时,首先检查距上个操作是否已超过10分钟
login.php:
<?php session_start();
session_destroy();
session_register(time0);
$time0=time();
?>
over.php:
<?php session_start();
$time=time();
if($time-$time0 > 600)
header("location:login.php");
else
$time0=$time;
?>
我来回复