ホームページ  >  記事  >  バックエンド開発  >  PHP管理のための詳細な操作ログ作成に関するアイデアを募集中!解決

PHP管理のための詳細な操作ログ作成に関するアイデアを募集中!解決

WBOY
WBOYオリジナル
2016-06-13 13:48:161205ブラウズ

PHP管理のための詳細な操作ログ作成に関するアイデアを募集中! !
システムを構築するには、システム内の操作のすべてのステップ、番号のすべての追加、変更、削除を「ログ」システムに記録し、最も使いやすいインターフェイスで顧客に提示する必要があります。

以前はモジュール名、テーブル名、SQL ステートメントを直接記録していましたが、今ではこの要件が少しわかりにくくなっています。システムは比較的複雑であるため、いくつかの ajax 選択操作もあります。 SQL 形式を使用して記録しない場合、どうすればよいのかわかりません。

いくつかアイデアをください。ありがとうございます~~~~~~~~~~

-----解決策---------------------- ----------
挿入、更新、削除を実行するたびに、記録したい情報をデータベースに挿入するだけですよね。
------解決策---------

話し合う
インターフェースはかなり良いです。私はアイデアを実現することについて話しています。

1 階では理解できませんでした。記録、挿入、更新、削除をしていれば、とっくの昔にやっていたでしょう。 顧客が SQL を理解しておらず、従業員が間違った操作を実行した場合、ログ システムがどのモジュール、どの日付、どの従業員、どのフィールド、元の値、新しい値に基づいている場合、SQL を以前のように記録することはできません。

そして、多くの製品のテーブルは多対多の関係を持つデータベース構造です...それが頭の痛い理由です。

------解決策---------
顧客が最も知りたいのは、いつ、何があったのかということです。システム内で行われたこととその結果。
各ページにアクセスすると、ログインしているユーザーがどのようなモジュールで、どのような操作を行うのかがわかるようになります。
たとえば、URL は次のようになりますか?
http://project/index.php?module=article&task=update
単一エントリ モードなので、インデックスに write_log 関数を追加するだけで済みます。 php 。
元の値と新しい値のどちらを使用するかについては、プラグインの仕組みを導入する方法がありません。
プラグインのメソッドを格納するクラスを開きます。たとえば、上記の URL は、article_update
です。この場合、このプラグイン クラスは、
class plugin
{
public $extraLog;
functionarticle_update($field,$old,$new) となります。 )
{
self::$extraLog = array( 'フィールド'=>$field,'元の値'=>$old,'新しい値'=>$new);
}
}
このメソッドは、プロセス ページでデータベース操作を実行します。呼び出されると、index.php の write_log プロセスは plugin::$extraLog のみを読み取り、ループし、それを他の情報とともにデータベースまたはファイルに保存します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。