回 帖 发 新 帖 刷新版面

主题:求个session超时设置

例如说:

一个用户登录后存入的$_SESSION["username"]

如何设置10分钟不做任何操作。并限制它登录超时,,请重新登录!

   如果可以,提供代码!

回复列表 (共5个回复)

沙发

思路:在登陆成功时记录session的时候,用个session["logintime"]记录登陆的时间,然后,每次操作前判断这个时间跟当前时间的差是否超过10种了,如果超过了则退出重新登陆,没有超过10分钟就更新logintime为当前时间.

板凳

呵呵!!~~学了

3 楼


不是很明白??如何判断呀;;

4 楼

这个是登录页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 楼

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;
?>

我来回复

您尚未登录,请登录后再回复。点此登录或注册