Re: [請益] 修改資料功能的log怎麼寫?

看板PHP作者 (寶貝豬)時間16年前 (2009/06/30 22:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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)
文章代碼(AID): #1AIYNrUp (PHP)
討論串 (同標題文章)
文章代碼(AID): #1AIYNrUp (PHP)