-
Ü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
-
Ü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');
}
}
-
Ü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/