thinkphp登录检测

参考下我的登录处理
//定义处理后台登陆提交数据
public function login(){
if (!IS_POST) halt('页面不存在');
$username=I("username");
$pwd=I("password",'','md5');
//p($pwd);die;
//1.检查数据库中这个用户是否存在
$user=M('user')->where(array('username' => "$username"))->find();
//如果数据库中的用户不存在,或者存在但是密码不正确就报错。
if(!$user || $user['password']!=$pwd){
$this->error("用户名或密码错误!");
}
//如果上面条件都成立的话,每次登陆后更新下面数据
$data=array(
'id' => $user['id'],
'sign'=>$user['sign'],
'shenfz'=>$user['shenfz'],
'tel'=>$user['tel'],
'weixin'=>$user['weixin'],
'qq'=>$user['qq'],
'logintime' => time(),
'loginip' => get_client_ip()
);
//更新数据库数据
M('user')->where(array('id' =>$user['id']))->save($data);
if(in_array($user['zw'],array(1,2,3))){
$role=M('role_user')->where(array('user_id' => $user['id']))->getField('role_id',true);
}else{
$role=M('role_user')->where(array('user_id' => $user['id']))->getField('role_id');
}
//存取登陆session数据
session(C('USER_AUTH_KEY'),$user['id']);
session(username,$user['username']);
session(role,$role);
session(bm,$user['bm']);
session(tel,$user['tel']);
session(email,$user['email']);
session(zw,$user['zw']);
session(logintime,$date['logintime']);
session(loginip,$user['loginip']);
//存取session数据后跳转到后台用户列表页
if($user['username'] == C('RBAC_SUPERADMIN')){
session(C('ADMIN_AUTH_KEY'), true);
}
import('ORG.Util.RBAC');
RBAC::saveAccessList();
//插入用户操作日志
$content=$_SESSION['username'].date("Y-m-d H:i:s",time())."登入了日志任务系统";
$logs=array(
'userid' =>$_SESSION[C('USER_AUTH_KEY')],
'operate' =>time(),
'content' =>$content,
'status' =>0
);
//存取登录操作log信息
M('userlog')->add($logs);
//调整后台首页
$this->redirect('Admin/Index/index');

posted @ 2015-12-13 17:32  张张张浩  阅读(274)  评论(0编辑  收藏  举报