我在登录后台的时候保存了管理员的资料到session里面,
访问后台模块下的所有控制器都能打印出来值,
但是我只要一使用 success 或者 error 来跳转 session就会马上消失。
请大侠帮帮忙, 麻烦各位了。
/* 管理员登录 */
public function ajaxLoginCheck(){
$map['manage_name']=I('get.manage_name');
$map['manage_pass']=I('get.manage_pass');
$code=I('get.code');
$error_count=session('manage_login_error_count');
if(mb_strlen($map['manage_name']) < 2){
session('manage_login_error_count',$error_count+1);
$this->ajaxReturn(array('error'=>1,'message'=>'账号不正确'));
}else if(mb_strlen($map['manage_pass']) < 6){
session('manage_login_error_count',$error_count+1);
$this->ajaxReturn(array('error'=>1,'message'=>'密码不正确'));
}else if($error_count >= 3 && (mb_strlen($code) != 4 || $this->check_verify($code)==false)){
session('manage_login_error_count',$error_count+1);
$this->ajaxReturn(array('error'=>1,'message'=>'验证码不正确'));
}
$map['manage_pass']=sha1($map['manage_pass']);
$model=M('manage');
if($manage=$model->alias('m')->field('m.*,level.name as level_name,level.node')->join('LEFT JOIN __MANAGE_LEVEL__ level ON level.id = m.level')->where($map)->find()){
$data['last_login_ip'] = get_client_ip();
$data['last_login_time'] = time();
$model->where('id=%d',$manage['id'])->save($data);
/**保存管理员session**/
session('manage',array_merge($manage,$data));
/**清空错误次数**/
session('manage_login_error_count',null);
$this->ajaxReturn(array('error'=>0));
}else{
session('manage_login_error_count',$error_count+1);
$json['error']=1;
$json['message']='请填写正确的账号密码';
/* 错误次数 大于等于 3次 要求输入验证码 */
if($error_count+1 >= 3) $json['code'] = true;
$this->ajaxReturn($json);
}
}
/* Common 检查管理员是否登录 */
privatefunction _checkLogin(){
if(!I('session.manage')) $this->redirect('Login/index');
} 最佳答案