# ThinkPHP3.2.3如何實現系統登錄日志?
1.數據庫表,新建兩個表


2.Controller控制器寫一個記錄日志的方法,可供其它地方調用,這樣可以提高代碼的復用性
~~~
/**
* //系統操作日志方法
* @param $log
* @param $userid */ public function UserLoginLog($log, $userid)
{
$logModel = M('Log'); //實例化模型
$data = array(
'user_id' => $userid, //用戶ID
'op_log' => $log, //操作內容
'op_time' => time() //操作時間(當前系統時間)
);
$logModel->add($data);
}
~~~
3.在用戶登錄成功的時候調用UserLoginLog操作日志的方法,這樣就完成了
~~~
//登錄操作
public function Login()
{
if (IS_POST) {
$verify = new \Think\Verify();
if (!$verify->check(I('post.captcha'), 3)) {
$this->error('你輸入的驗證碼有誤!請重新輸入');
}
if (D('User')->create(I('post.'), 4)) {
$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');
}
~~~