merhaba arkadaşlar , bir projem için log kayıtlarını tutmam gerek , yalnız log kayıtları derken giriş çıkışlardan ziyade farklı yetkideki kullanıcıların ne işlem yaptığını tutmayı amaçlıyorum.
burda sorun x kullanıcısı 36 id li firma bilgisini düzenledi gibi bir kayıt tutmak kolay ama bu kullanıcının 36 id li firma bilgisinde hangi input u güncellediğini nasıl kayıt altına alabilirim.
Tek tek eşleştirmek çözüm olabilir ama sadece 1 sayfa güncelleme işlemi yok detaylı bir platform.
Daha önce log sistemi yapmış , yada fikri olan arkadaşlar yardımcı olur ise sevinirim.
php log sistemi yapımı
9
●4.782
- 30-09-2014, 23:57:501 tane fonksiyon içerisinden geçirmiş olsanız çok kolay ancak her sayfa için farklı bir sorgu sisteminiz varsa baya zorlayacaktır tek tek elle eklemeniz gerekecektir gerçi sisteminize görede değişecektir. kişinin hangi sorguyu değiştirdiğini öğrenmek için daha önceden kayıt ile yeni gönderilen arasında bir değişiklik var mı kontrol edersiniz değişiklik varsa log sisteminize kaydedersiniz aynı bir değişiklik yoksa o sorguyu es geçer loglamazsınız... ancak yazılan sisteme göre bunlarda değişkenlikler gösterecektir...
- 01-10-2014, 02:16:41Şu şekilde olabilir belki en kolay yoldan;asimavi50 adlı üyeden alıntı: mesajı görüntüle
Veritabanı işlemlerini yaparken tüm değişkenleri json olarak veritabanına kaydetme.
Örnek tablo
id - userID - page - dataOld - dataNew - date
Bu şekilde yaptığını düşün herhangi birisi update yaptıgında sen o verinin o halini ve güncellenmiş halini json ile yükleyeceksin. Bu biraz okuma açısından zor olabilir fakat en basiti bu aklıma gelen. - 01-10-2014, 08:09:19Eygun adlı üyeden alıntı: mesajı görüntüle
Peki eski data ile yeni data verisinden hangisinin değiştiğini nasil bilebiliriz eşleştirmekden baska yol yok sanırım , eski data uzerinde sadece telefonu değiştirdi bir kullanıcı ,amacim x kullanicisi y firmasının telefon numarasini değiştirdi seklinde kayit altina almak - 01-10-2014, 11:06:32MisafirSistemine ait detayları bilmeden çok zor bu soruya net cevap vermemiz.
Örneğin ben kendi sistemlerimde , update($data,"tablo_adi",$where); şeklinde yapıyorum. $data olarak $_POST'u yolluyorum.
Bu tarz bir sistemde iş kolay, query'i çalıştırmadan önce verilerden değişenleri tespit ederek , tüm verinin update olmasını değil sadece değişen alanın update edilmesini sağlayabilirsin. Haliyle sorgu'nun performası'da artar. (bknz) Elinde de değişiklik yapılan alan bilgisi olur (eski - yeni veriler olur).
İkinci yol, temporary (geçici) tablo oluşturarak yapabilirsin. Benim kafama çok yatmadı açıkcası ama aşğıya bağlantı ekliyorum.
http://stackoverflow.com/questions/7...as-been-change - 01-10-2014, 14:03:32FaTe adlı üyeden alıntı: mesajı görüntüle

Eşleştirme şu şekilde olabilir. Şimdi admin panelinin yapısını bilmediğinizim anca atıp tutuyoruz.
Örnek 1:
Form dan gelen post değerlerin isimleri tablodaki field isimler ile aynı olabilir.
Bu şekilde olursa foreach döngüsünden döndürürsün postu sonrada ufak bir if ile işlemini halledersin
if sql['post isim] != post['post isim'] {
$data .= postisim.'='.post['post isim'].' DeÄŸiÅŸtirdi.<br>';
}
sonrada datayı sqle ekle - 01-10-2014, 16:47:52Üyeliği durdurulduVeritabanı işlemleri için bir kütüphane kullanırsanız kolaylıkla yapabilirsiniz. tüm veritabanı işlemlerini yerleşik fonksiyonlar ile sayfa içi yapıyorsan tek tek her işlem sonrası log tutman gerekicek..FaTe adlı üyeden alıntı: mesajı görüntüle
