php log tutma
Merhaba sipariş düzenle ekranında yaptığım değişikleri nası kayıt ettirebilirim örnek olarak siparişteki ad ve soyadı değiştirdiğimde değişen veri => yeni veri
olarak kayıt etmek istiyorum
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (6)
Merhaba! PHP kullanarak bir sipariş düzenleme ekranında yaptığınız değişiklikleri log olarak kaydetmek için aşağıdaki adımları izleyebilirsiniz:
1- Öncelikle, sipariş düzenleme ekranında bir "log" tutma işlemini gerçekleştirmek için bir dosya oluşturun ve dosyanın adını order-log.txt olarak belirleyin.
2- Daha sonra, sipariş düzenleme işlemini gerçekleştirdiğiniz PHP kodunun içinde bir log oluşturma işlemini başlatın. Bu işlemi yapmak için, order-log.txt dosyasına yazma işlemini gerçekleştirebilirsiniz.
Örneğin:
$log = fopen('order-log.txt', 'a'); // 'a' parametresi dosyaya ekleme yapmak için kullanılır
3- Daha sonra, sipariş düzenleme işleminin gerçekleştiği kısımda, değiştirilen veriyi dosyaya yazma işlemini gerçekleştirin.
Örneğin, siparişteki ad ve soyadı değiştirdiğinizde aşağıdaki kodu kullanabilirsiniz:
// Önceki ad ve soyadı alın
$oldName = 'John Doe';
// Yeni ad ve soyadı alın
$newName = 'Jane Doe';
// Değişiklikleri log dosyasına yazın
fwrite($log, "Ad ve soyad değiştirildi: $oldName => $newName\n");
Bu şekilde, sipariş düzenleme ekranında yaptığınız tüm değişiklikleri order-log.txt dosyasına kaydedebilirsiniz. Umarım bu bilgi size yardımcı olmuştur...
Sanırım bu sana yardımcı olabilir. https://ay.live/phplog
Öncelikle bir tablo oluştur veritabanında. İsmi (örnek olarak söylüyorum) product_updates olsun. Bu tabloda açacağın sütünlar şöyle olsun
product_update_id => primary_key
product_id => int(11)
product_update_order => int(11)
product_info => json
product_update_date => timestamp formatında varsayılan olarak current_timestamp
product_update_id otomatik artacak klasik zaten
product_id ürünün id sini tutacak
product_update_order ürünün kaçıncı değişimi olduğunu tutacak misal ürünü ilk defa güncellediysen 1, 8. kez güncellediysen 8 yazacak
product_info ürünün güncellenmeden önceki tüm bilgilerini json olarak tutacak.
product_update_date güncellenme tarihini tutacak
<?php
function update($productId, $productInfo){
global $db;
$product = $db->from('products')->where('product_id', $productId)->first();
if(!$product){
return 'Böyle bir ürün yok.';
} else if(!$productInfo){
return 'Ürün bilgileri giriniz.';
} else {
$productLastUpdateOrder = $db->from('product_updates')->where('product_id', $productId)->orderby('product_update_order', 'desc')->first();
if($db->insert('product_updates')->set([
'product_id' => $productId,
'product_update_order' => ($productLastUpdateOrder['product_update_order'] + 1),
'product_info' => $productInfo
])){
return 'İşlem başarıyla gerçekleşti.';
} else {
return 'İşlem gerçekleştirilemedi.';
}
}
}
?>
Kısaca bu şekilde olabilir