lostyazilim

PHP Saatlik Update

14 Mesajlar 1.883 Okunma
lstbozum
wmaraci reklam

MoonLegend MoonLegend WM Aracı Kullanıcı
  • Üyelik 28.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Devoloper / Hacking
  • Konum Kütahya
  • Ad Soyad M** A**
  • Mesajlar 35
  • Beğeniler 2 / 3
  • Ticaret 0, (%0)
if(@$_SESSION["login"] == "true"){
$sec = $db->prepare("SELECT * FROM users WHERE username='$kadi'");
$yenitarih = date("d-mY H:i:s");
$parahesap = $sec->fetch(PDO::FETCH_ASSOC);
$yenipara = $parahesap["money"] + $parahesap["income"];
$db->query('UPDATE users SET money=$yenipara, history=$yenitarih WHERE username=$kadi, history < NOW() - INTERVAL 1 MINUTE');

}

Son kod bu fakat çalışmıyor nerede hata yaptım acaba
 

 

wmaraci
reklam

MoonLegend MoonLegend WM Aracı Kullanıcı
  • Üyelik 28.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Devoloper / Hacking
  • Konum Kütahya
  • Ad Soyad M** A**
  • Mesajlar 35
  • Beğeniler 2 / 3
  • Ticaret 0, (%0)
Güncel
 

 

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)
Bence şöyle bir mantık olabilir. tabi eğer cronjob kullanmayacaksan.

Kullanıcı giriş yaptığında veya sayfa değiştirdiğinde kontrol.php gibi bir dosya çalışacak. (veya ara sıra jquery ile kontrol edeceksin).

kullanıcılar tablonda 1107201718 gibi bir veri olacak. Bunu history gibi bir sutunda saklayabilirsin. Daha sonra her sayfa çalıştığında date('dmYH'); şeklinde anlık ve daha önce tekrarlanmamış sonunda saati içeren bir sayı elde edeceksin. Bu veri ile veritabanındaki veriyi kıyaslayıp eğer eşit değiller ise bonusu ekleyip eşitleyeceksin. Eğer eşit ise zaten saatlik bonusunu almış olacak.


if(@$_SESSION["login"] == "true"){

$suan_saat = date('dmYH');
$vt_saat = $parahesap["history"];

if($suan_saat != $vt_saat) {

$yenipara = $parahesap["money"] + $parahesap["income"];
$db->query('UPDATE users SET money=$yenipara, history=$$suan_saat WHERE username=$kadi');

}


}
 

 

ERENKYI ERENKYI WM Aracı Kullanıcı
  • Üyelik 11.07.2017
  • Yaş/Cinsiyet 26 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 169
  • Beğeniler 8 / 45
  • Ticaret 1, (%100)
Size tavsiyem şudur :

Kullanıcı giriş yaptığında sunucudan para, son para güncelleme tarihi ve saatlik gelir değerlerini alarak setcookie("Çerez Adı", $cerez_degeri); methoduyla çerez oluşturmanız. Her sayfa yenilemede sunucuya bağlanmaktansa bunu yaparak, Javascript ile client-side olarak bu çerezlerle kullanıcı parasını güncelleyin. Hem bu yol ile saniyelik olarak da güncel para gösterebilirsiniz. PHP ile para güncellemeyi sadece kullanıcı giriş yaptığında ve parasıyla bir şey almaya çalıştığında kullanın.

Neden derseniz anlık olarak 200 kullanıcının ortalama 3 saniyede bir sayfa değiştirdiğini düşünürseniz sunucunuz hızlı değilse kullanıcılar diğer kullanıcıların işlemlerini beklemek zorunda kalacak.

Not: Chrome ve benzeri tarayıcılarda mevcut sekme aktif sekme değilse tarayıcı bu sekmenin güncelleme hızını yavaşlatıyor. Yani Javascript ile saniyelik para güncellemesi yapacaksanız tavsiyem her güncellemede son güncelleme tarihi ile anlık tarihi karşılaştırın.

PHP kodunuzu göremediğim için bir şey diyemeyeceğim. Örnek Javascript kodu:

https://jsfiddle.net/ERENKYI/kq5u0qL9/4/
 

 

wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al