• 04-11-2021, 22:28:11
    #1
    Arkadaşlar PHP PDO kullanıyorum. Kullanıcı butona basınca hesabına 10 puan ekleniyor.
    Kullanıcı butona basıp hesabına 10 puan eklendikten sonra, butonu 1 saatliğine devre dışı nasıl bırakabilirim? 1 Saat sonra buton tekrar aktif olacak...
  • 04-11-2021, 22:31:24
    #2
    Kullanıcı tablosuna butona tıklanan saati unix time cinsinden ekleyip butonun aktif olup olmadığını kontrol edebilirsiniz. Backend olarak da kontrol yapmalısınız bu arada.
  • 04-11-2021, 22:33:11
    #3
    Yapabileceğiniz en kısa yol SQL dosyasında kullanıcı tablosuna ödül sütunu oluşturup varsayılan olarak 0 değeri verin. Kullanıcı butona tıkladığında ödül sütunu değeri 1 olarak güncellensin. Butona da tıklayabilmeleri için if ödül 0 şartı koyun. Hosting paneliniz üzerinden cron oluşturun her gece 23.59'da bütün kullanıcıların null değerini 0'a çevirsin.
  • 04-11-2021, 23:19:48
    #4
    Mantık bunun gibi geliştirmesi hayal gücünüze kalmış.
    Table example
    user_id,collection_time(datetime,default timestamp),gold(int)

    Kullanıcı butona tıklar
    // zamanı gelmiş mi kontrol eder
    Select * from example where user_id=1 and collection_time + INTERVAL 1 HOUR < CURDATE()
    // kayıt dönerse güncelleme yapabilirsiniz

    //puan ekleme
    Update example set gold = gold + 10,collection_time=CURDATE()
    where user_id=1;

    Gösterirken sorgu
    Select *, IF(collection_time + INTERVAL 1 HOUR < CURDATE(),1,0) as button_enable
    from example where user_id=1

    Html tarafı
    $row = etc...
    <button <?=($row->button_enable == 0 ?"disabled":null)?> > TOPLA </button>
  • 05-11-2021, 11:50:24
    #5
    darness adlı üyeden alıntı: mesajı görüntüle
    Mantık bunun gibi geliştirmesi hayal gücünüze kalmış.
    Table example
    user_id,collection_time(datetime,default timestamp),gold(int)

    Kullanıcı butona tıklar
    // zamanı gelmiş mi kontrol eder
    Select * from example where user_id=1 and collection_time + INTERVAL 1 HOUR < CURDATE()
    // kayıt dönerse güncelleme yapabilirsiniz

    //puan ekleme
    Update example set gold = gold + 10,collection_time=CURDATE()
    where user_id=1;

    Gösterirken sorgu
    Select *, IF(collection_time + INTERVAL 1 HOUR < CURDATE(),1,0) as button_enable
    from example where user_id=1

    Html tarafı
    $row = etc...
    <button <?=($row->button_enable == 0 ?"disabled":null)?> > TOPLA </button>
    Hocam biraz daha açarak paylaşma şansınız var mı? Birşeyler denedim ama yapamadım :/
  • 05-11-2021, 14:42:32
    #6
    butona tıklandığı anda saat ve tarih giriniz ardında if else ile birlikte bitiriniz.