好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php登录超时session怎么办

php登录超时session的解决办法:首先登录时候用session记录登录时间;然后页面打开时候判断session如果不存在,就跳回登录页面;接着如果session存在,则将页面加载时间和登录时间对比;最后如果大于超时时间,则删除即可。

【相关学习推荐:php编程(视频)】

php登录超时session的解决办法:

php登录超时session问题,原理是:

1、登录时候用session记录登录时间

$_SESSION['time']=time();

2、页面打开时候判断session如果不存在,就跳回登录页面;如果session存在,则将页面加载时间和登录时间对比,如果大于超时时间,则删除session,如果时间小于超时时间,则更新登录时间session值!

登录代码:

public function login(){
   if($_POST){
  $where['username']=$_POST['username'];
  $where['password']=md5("php100".$_POST['password']);
  $users=M('users')->where($where)->find();
  if($users){
 $_SESSION['id']=$users['id'];
 $_SESSION['user_shell']=md5($users['username'].$users['password']);
 $_SESSION['time']=time();
 $this->redirect('Index/index');
  }else{
 echo "<script type='text/javascript'>alert('用户名或密码错误');window.history.go(-1);</script>";
  }
   }else{
  $this->display();
   }
    }

公共控制器构造函数代码:

public function _initialize()
    {
   if(isset($_SESSION['user_shell'])){
  if(time()-$_SESSION['time']>60){
 unset($_SESSION['user_shell']);
 $url=U('Login/login');
 Header("Location:$url");
  }else{
 $_SESSION['time']=time();
  }
   }else{
  $url=U('Login/login');
  Header("Location:$url");
   }
    }

【相关学习推荐:php图文教程】

以上就是php登录超时session怎么办的详细内容!

查看更多关于php登录超时session怎么办的详细内容...

  阅读:45次