2014-01-10 4 views
-1

Прежде всего, я извиняюсь, что бы опубликовать этот вопрос, поскольку я знаю, что это не как код сайта. Но я прошу здесь после выполнения некоторых поисков, но не получил удовлетворительного результата.Нужно руководство для создания журналов на php

В принципе, мне нужно знать, как я могу сделать какие-то журналы. Я имею в виду я сделал пользователей для моей структуры приложения довольно прост

table 1 : userroles 
id , role 

table 2: users 
id, username, passowrd, userroleid 

я хотел бы знать процесс, как сделать некоторые журналы каждый раз, когда каждый пользователь входит в систему, предпочтительно в отдельном файле. Кроме того, какие изменения я должен внести в свои таблицы для достижения своей цели.

Заранее спасибо

+1

'file_put_contents ('file.log', 'Person logged in!', FILE_APPEND);' ?? –

ответ

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 :) 
    )) 
)); 

Дополнительные данные необходимы для хранения дополнительных данных о событии. Например, вы можете сохранить в нем порядковые номера или время, необходимое пользователю для выполнения этого действия.

+0

Какова цель дополнительных данных? – Raheel

+0

по вашему коду мне понятно, что userlogin может быть зарегистрирован, но действия пользователя как? – Raheel

+0

Я обновил свой ответ. Дополнительные данные здесь не требуются. Я просто описываю очень очень очень простую динамическую систему регистрации – Spell

0

Пожалуйста, обратите внимание, что «журналы» могут быть достигнуты в некотором роде.

1) Как и некоторые приложения с большим количеством сторонних приложений (например, форумы), все хранится в базе данных даже в конечном итоге.

2) Вы можете использовать файл, но если файл помещен внутри веб-каталога, каждый пользователь, который знает путь, может получить к нему доступ (вы можете заблокировать это с помощью некоторого правила .htaccess).

Это говорит о том, что вам не нужно менять db для создания файла журнала, вы можете поместить в журнал (необработанный текстовый файл) то, что вы хотите. Для начала я предлагаю вам прочитать несколько руководств по манипулированию текстовыми файлами. Гуглинг на нем, и вы найдете много таких.

+0

Я видел некоторые уроки, и все они учат создавать файл .txt и писать ему ... Но каковы идеальные стандарты? Я имею в виду, какой подход используют опытные программисты? – Raheel

+1

@ Raheel http://framework.zend.com/manual/1.12/en/zend.log.overview.html –

+1

Это зависит от того, сколько людей использует приложение, и если вы хотите отслеживать их с помощью приложения или читать журнал. Если вы делаете журнал на db, а не на какую-то другую часть приложения, вы можете получить доступ к нему и (например) фильтровать данные. В журналах обычно нужно использовать его, как сохранение записи. – Goikiu

Смежные вопросы