我想让登录系统的用户,如果5分钟内没有任何动作,就自动退出系统。请问大家这个怎么解决?
怎么判断页面没有动作 ?

解决方案 »

  1.   

    做个checklogin.php页面
    在需要判断是否超时的页面里inclde这个页面session_start();
    header("content-type:text/html; charset=utf-8");
    //超时时间,单位:秒,这里设为10分钟. 
    $timeout=600;  
    $now=time(); 
    if(($now-$_SESSION['session_time'])>$timeout)
    {
    //超时了. 
    unset($_SESSION['clientID']);   
    }
    else
    {
    //还没超时. 
    $_SESSION['session_time']=time(); 
    }
    if(empty($_SESSION["clientID"]))
    {
    echo "<script language='javascript'>alert('您当前未登录或者登录已超时,请重新登录');window.parent.location.href='../';</script>";
    exit;
    }
      

  2.   

    登录成功的用户,把用户名放到session里,然后就可以看session里面有没有数据,如果没有就执行自动退出系统
      

  3.   


    ---------------------------------------
    你这个方法只能手动调用,检测SESSION中设置的时间是否过期。
    我想要的是:假如我登陆了系统,会在SESSION中保持一个用户身份ID,当我5分钟内没有执行任何操作,系统会认为我不需要再操作了,就会自动断开连接。
    你这样做,10分钟后。无论我是否在操作都会强制删除SESSION,都会推出系统
      

  4.   

    -------------------------------
    我在登录的时候在COOKIE或者是在SESSION中存个用户ID,我想要实现像phpmyadmin那样,登录后1440秒内没有动作就断开连接。主要是如何判断页面当前没有动作?
      

  5.   

    连接本身就已经是断开的了你在COOKIE或者是在SESSION中加一个登录时间变量
    他再次访问是判断一下就是了
      

  6.   

    以 session 为例
    登录时
    $_SESSION['userid'] = $userid;
    $_SESSION['time'] = time();再次进入时
    if(time() - $_SESSION['time'] > 1440) {
      //超时处理
    }else{
      $_SESSION['time'] = time();
    }