Re: [請益] 修改資料功能的log怎麼寫?
※ 引述《h374601 (你好丫)》之銘言:
: 各位大大好
: 小女子我目前以php+mysql寫了一個網站
: 其中後台的修改功能
: 我想製作一個若使用者有修改資料
: 可以記錄在log裡,內容為記錄哪位使用者在什麼時候修改了什麼的相關記錄
: 這樣子可以利用什麼函式或是什麼方法可 以達成呢?
底下提供一個簡單的方法, 僅供參考:
寫個函式把mysql_query包起來. 例如: mysql_query_log
function &mysql_query_log($sql,&$link){
//global $_SESSION; //這行要不要加? 請自行測試. 配合以下需要:
$rs=mysql_query($sql,$link);
//假設user登錄時,其id存在$_SESSION裏: 以下是舉例僅供參考
$user_id=$_SESSION['login']['users']['id'];
//若sql指令是update開頭, 代表user執行了修改資料的指令, 則將sql寫入日誌:
if(tolower(substr(ltrim($sql),0,6))=='update'){
file_put_contents(
'mysql_query.log',
sprintf("user_id: %d,%s: %s\n",$user_id,mysql_error(),$sql),
FILE_APPEND | LOCK_EX
);
}
return $rs;
}
以後凡是要用mysql_query的,全都改成mysql_query_log就行了.
至於要寫入資料庫, 或是寫入檔案? 就看你建日誌的主要訴求是什麼?
一般日誌是用來做維護的. 平時並不會特別去用它, 只有發生特殊狀況, 需要
調查究竟發生了什麼事時, 才會調日誌出來看. 如果建日誌主要訴求在此, 那
麼只要當成流水帳用檔案記錄就行了, 省時又省工. 不然若要用資料庫存的話,
為了搜尋排序等考量, 還要設計資料欄位才行.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.139.64
※ 編輯: bobju 來自: 203.67.139.64 (06/30 23:03)
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章