需要在php中创建日志的准则

时间:2014-01-10 13:26:25

标签: php

首先,我道歉发布此问题,因为我知道这不是如何编码网站。但是我在做了一些搜索后问这里但没有得到满意的结果。

基本上我需要知道如何制作某种日志。我的意思是我让我的应用程序结构的用户非常简单

table 1 : userroles
id , role

table 2: users
id, username, passowrd, userroleid

我想知道每个用户每次登录时如何制作一些日志的过程,最好是在一个单独的文件中。此外,我应该在表格中做出哪些改变以实现我的目标。

提前致谢

2 个答案:

答案 0 :(得分:1)

您需要添加新表

Table: Logs
date, user_id, action, additionalData

当用户做出一些需要记录的操作时 - 只需在此表中插入。

例如 - 用户已登录:

$db->insert('logs', array(
     'date' => date(),
     'user_id' => $activeUserId,
     'action' => 'loggedIn',
     'additionalData' => json_encode(array(
          'userAgent' => $_SERVER['HTTP_USER_AGENT']
     ))
));

<强> UPD: 再举一个例子,您可以记录注销或订单创建或任何其他您喜欢的操作。

只需更改操作即可成为新事件

$db->insert('logs', array(
     'date' => date(),
     'user_id' => $activeUserId,
     'action' => 'orderPayed',
     'additionalData' => json_encode(array(
          'amount' => 10000000 // This this is enought :)
     ))
));

需要额外的数据来存储事件的其他数据。例如,您可以在其中存储用户执行此操作所需的订单号或时间。

答案 1 :(得分:0)

请注意,“日志”可以通过某种方式实现。

1)像一些大型使用第三方应用程序(如论坛)一样,所有内容都存储在数据库中,甚至是最终日志。

2)您可以使用文件,但如果文件放在Web目录中,则每个知道该路径的用户都可以访问它(您可以使用某些.htaccess规则来阻止它。)

这表示你不需要更改db来制作文件日志,你可以把日志(原始文本文件)放在你想要的内容中。对于初学者,我建议你阅读一些关于文本文件操作的教程。谷歌搜索它,你会发现很多这些。