php实现日志管理(记录用户 *** 作)原理

php实现日志管理(记录用户 *** 作)原理,第1张

把日志需要保留的数据用json串或xml等数据结构的方式存储起来,调用的时候直接解析这些数据结构即可。

按简单的理解,给各模块的关键步骤起个 *** 作名字,记录一下该 *** 作名,时间,用户,IP等就完了。

单入口模式,这样只需要往index.php加入write_log功能就好了。

至于哪个字段,原值,新值,这个没什么好方法啊,可以引入插件机制,

开个类存储插件方法,命名以module_task为准,比如以上的url就是article_update

那么这个插件类就是

class plugin

{

public $extraLog

function article_update($field,$old,$new)

{

self::$extraLog = array('字段'=>$field,'原值'=>$old,'新值'=>$new)

}

}

这个方法在流程页面进行数据库 *** 作的地方调用,index.php的write_log流程只读plubin::$extraLog,循环然后和其它信息一起入库或文件。

解决方案:

插入数据库

$db->先创建一个log表, '],有id,$username]update',登录后都有的吧

if(in_array($action, action$username就是当前 *** 作人的名字了/, username这里可以把时间和$query_string处理一下,',可添加

$query_string = $_SERVER[', query, time 等字段,可以自己定义delete',$username,$query_string)edit',如果需要记录更多。比如)))

{

addlog($action/QUERY_STRING',这个最好处理一下

$action = $_REQUEST['///查询(query)的字符串?action=add&id=xx

/,'action' *** 作类型, array('add'/

}

function addlog($action,$query_string)

{

/query($sql)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7331426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存