• 29-09-2014, 15:14:32
    #1
    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.
  • 30-09-2014, 16:34:09
    #2
    konu ile ilgili fikri olanlar yardımcı olursa sevinirm
  • 30-09-2014, 17:25:11
    #3
    takipteyim..
  • 30-09-2014, 23:57:50
    #4
    1 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
    #5
    asimavi50 adlı üyeden alıntı: mesajı görüntüle
    1 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...
    Åžu ÅŸekilde olabilir belki en kolay yoldan;
    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:19
    #6
    Eygun adlı üyeden alıntı: mesajı görüntüle
    Åžu ÅŸekilde olabilir belki en kolay yoldan;
    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.

    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:32
    #7
    Misafir
    Sistemine 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:32
    #8
    FaTe 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


    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
    #9
    ylv
    Üyeliği durduruldu
    FaTe adlı üyeden alıntı: mesajı görüntüle
    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.
    Veritabanı 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..