php日志系统怎么做,ThinkPHP 如何实现系统登录日志?

1.数据库表

4a2bf10f079f?from=timeline

4a2bf10f079f?from=timeline

2.Controller控制器写一个记录日志的方法,可供其它地方调用,这样可以提高代码的复用性

/**

* //系统操作日志方法

* @param $log

* @param $userid

*/

publicfunctionUserLoginLog($log,$userid)

{

$logModel= M('Log');//实例化模型

$data=array(

'user_id'=>$userid,//用户ID

'op_log'=>$log,//操作内容

'op_time'=> time()//操作时间(当前系统时间)

);

$logModel->add($data);

}

3.在用户登录成功的时候调用UserLoginLog操作日志的方法

publicfunctionLogin()

{

if(IS_POST) {

$verify=new\Think\Verify();

if(!$verify->check(I('post.captcha'), 3)) {

$this->error('你输入的验证码有误!请重新输入');

}

if(D('User')->create(I('post.'), 4)) {

//调用UserModel的方法 (I()获取post提交的内容)

$userinfo= D('User')->checkLogin(I('post.username'), I('post.password'));

if($userinfo) {

session('username',$userinfo['username']);

session('user_id',$userinfo['user_id']);

//登录成功,写入日志

$this->UserLoginLog("登录系统", session('user_id'));

$this->redirect('Index/index');

}else{

$this->error('用户名或者密码错误!');

}

}else{

$this->error(D('User')->getError());

}

}

$this->display('Public/login');

}

4.在退出登录的时调用UserLoginLog操作日志的方法,最后就完成了

//退出

publicfunctionlogout()

{

$user_id=$_SESSION['user_id'];//用户ID

$this->UserLoginLog('退出系统',$user_id);

session(null);//清除session

$this->redirect('Login/Login');

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值