而且,本来需要有session的username才能登录的页面,退出后也必须要刷新一次才能真正退出,百思不得其解。。。我把session赋值为null,还是一样不行。。
控制器登录时代码:
public function login(){
if(!IS_POST ) E('页面不存在');
$db=D('user');
$user=$db->where(array('username'=>I('post.username')))->find();
if(!user||$user['password']!=I('post.password','','md5')){
$this->error('账号或密码错误!');
}
//更新最后登录时间和IP
$data=array(
'id'=>$user['id'],
'lasttime'=>time(),
'loginip'=>get_client_ip()
);
$db->save($data);
session('uid',$user['id']);
session('username',$user['username']);
session('logintime',date('Y-m-d H:i:s',$user['lasttime']));
session('loginip',$user['loginip']);
$this->redirect('Home/Index/index');
}
控制器退出时代码:public function dologout(){
session_unset();
session_destroy();
$this->redirect('User/index');
}
前台接受session时的代码:<p>欢迎您:<{$Think.session.username}> </p>
控制页面的if代码:if(!IS_POST ) E('页面不存在');
if(!isset($_SESSION['uid'])||!isset($_SESSION['username'])){
$this->redirect('Home/User/index');
}
........
我的sesssion没有写入数据库,直接就在临时文件夹中的,不知道是怎么回事。 最佳答案
