<?php  
session_start(); 
$timeout=20; 
$now=time(); 
if(($now-$_SESSION['session_time']) > $timeout){ 
unset($_SESSION['user']); 
unset($_SESSION['pass']); 
$goto_url="login.php";
print "<meta http-equiv=\"REFRESH\" content=\"0;URL=$goto_url\">";

?> 

解决方案 »

  1.   

    好像理解错了<?php 
    session_start();
    set_time_limit(0);
    while(true){
    $timeout=20; 
    $now=time(); 
    if(($now-$_SESSION['session_time']) > $timeout){ 
    unset($_SESSION['user']); 
    unset($_SESSION['pass']); 
    header("location:login.php"); 

    sleep(20);//20秒执行一次代码
    }
    ?> 
      

  2.   

    :( 用cli可以使用set_time_limit(0);
    直接在页面执行不行
    唉 我再去试试
      

  3.   

    谢谢!!!!
    刚才我试了下也不行的。
    有while(){}连网页都打不开了。
      

  4.   


    <?php 
    session_start();
    $a=$_SESSION['session_time']*1000;
    echo $a;
    ?>
    </body> 
    <script language="javascript">
    test();
    function test(){
    var timeout=20*1000;
    var session_time="<? echo $a?>"; 
    var d=new Date(); 
    var startTime=d.getTime();
    if((parseFloat(startTime)-parseFloat(session_time))>=parseFloat(timeout)){
    window.location.href("login.php");
    }
    }
    setInterval("test()",1000);
    </script>写的好像有点麻烦 能实现20秒后自动跳转 、session的unset问题 可以先转到另一个页面unset再到login页面或者直接在login页面上进行。
    至于
    当一个用户登录进来后,停止操作多少分钟后就自动转到登录页面上去了,只能重新登录了
    能不能实现我就不知道了 ^_^
      

  5.   

    1.
    <?php  
    session_start(); 
    sleep(20);//停止20秒后,执行下面程序
    $now=time(); 
    if(($now-$_SESSION['session_time']) > $timeout){ 
    unset($_SESSION['user']); 
    unset($_SESSION['pass']); 
    header("location:login.php"); 

    ?>