1.数据库表
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');
}