Home  >  Article  >  Backend Development  >  求 php管理实现详细操作日志的制作思想!解决方法

求 php管理实现详细操作日志的制作思想!解决方法

WBOY
WBOYOriginal
2016-06-13 13:48:161259browse

求 php管理实现详细操作日志的制作思想!!
要做一个系统,要求系统内的每一步操作,每一个数字的添加修改删除都要记录到'日志'系统内,并且以最友好的界面给客户看。

以前做都是直接把模块名,表名和sql语句记录进去就完了,现在这种要求脑子有点乱。因为系统比较复杂,其中还有ajax的一些东西的选择操作。假如不用sql形式记录,真不知道怎么做才好。

请高手给个思路吧。谢谢了~~~~~~~~~~

------解决方案--------------------
直接就是每当进行insert、update、delete的时候就将你想记录的信息插入到数据库不就行了么?
------解决方案--------------------

探讨
界面还好说了。我说的是实现思想。

1楼的没看懂,如果记录,insert,update,delete我早就做了。 客户又不懂sql,他的员工执行了错误的操作,要以在哪个模块,哪天,哪个员工,哪个字段,原值,新值这种思想来做日志系统,就不能像以前一样记录sql.

而好多产品的表都是多对多的关联关系做的数据库结构...所以才头疼.

------解决方案--------------------
客户最想知道的是,什么时候在系统内做过了什么,结果是如何。
代码结构要好,访问每个页面都可以知道是什么模块,做什么操作,至于哪个人,就是登录的user咯。
比如你的url是否能像类似这样
http://project/index.php?module=article&task=update
单入口模式,这样你只需要往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,循环然后和其它信息一起入库或文件。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn