//先创建一个log表,有id, action, username, query, time 等字段,如果需要记录更多,可添加
在开封等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都做网站 网站设计制作按需定制设计,公司网站建设,企业网站建设,高端网站设计,营销型网站,外贸网站制作,开封网站建设费用合理。
$query_string = $_SERVER['QUERY_STRING'];//查询(query)的字符串,这个最好处理一下
$action = $_REQUEST['action'];//操作类型,可以自己定义。比如?action=addid=xx
//$username就是当前操作人的名字了,登录后都有的吧
if(in_array($action, array('add', 'edit','delete','update')))
{
addlog($action,$username,$query_string);
}
function addlog($action,$username,$query_string)
{
//这里可以把时间和$query_string处理一下,插入数据库
$db-query($sql);
}
大致思路就是这样的了,细节还需你自己完善
所谓的日志就是记录系统运行状态的数据。
一般是将信息记录到文本文件或数据库中。
比如:
?php
function writeLog($msg){
$logFile = date('Y-m-d').'.txt';
$msg = date('Y-m-d H:i:s').' '.$msg."\r\n";
file_put_contents($logFile,$msg,FILE_APPEND );
}
//调用上面的函数,写一条信息进日志文件
writeLog('这是测试日志信息');
?
解决方案:
插入数据库
$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=addid=xx
/,'action';操作类型, array('add'/
}
function addlog($action,$query_string)
{
/query($sql);
}
把日志需要保留的数据用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,循环然后和其它信息一起入库或文件。
在更新之前 ,先在数据库取字段的值保存,再保存要改成的值,当你更新成功之后,把之前保存的两个值插入日志表
做个日志记录表 每次增删改查后 更新表 如
//记录
$sql = "insert into `h_log_point2` set ";
$sql .= "h_userName = '" . $rss['h_buyUserName'] . "', ";
$sql .= "h_price = '" . $num . "', ";
$sql .= "h_type = '交易完成', ";
$sql .= "h_about = '交易ID:" . $id . "', ";
$sql .= "h_addTime = '" . date('Y-m-d H:i:s') . "', ";
$sql .= "h_actIP = '" . getUserIP() . "' ";
$db-query($sql);
echo '修改成功';