v2.5.2
Giriş yap

Php Zaman ayarlı işlem kodu arıyorum

faridaliyev
705 defa görüntülendi

Selam Arkadaşlar. Ben bir site yapmak istiyorum. Her şey tamam da, sadece zaman ayarlaması eksik.
Mesela, bir işlem 20 dakikada bir yapılabilir. bir kere yaptım. Bir de 20 dakika sonra yapa bilirim. Öyle bir php kodu istiyorum.
Yardımcı olursanız çok sevinirim.

Cevap yaz
Cevaplar (7)
theviper
1023 gün önce

edit

metehankuscu
1024 gün önce

Merhaba
Bir tablon olur 1-N (bire çok) ilişkili kullanıcı bir butona birden fazla basabilicek şekilde ayarlamasını yaparsın.
Kullanıcı her butona bastıgında o tabloya ekletirsin;
Örnek Tablo Satırları;

id int
userID int
date date

Bu şekilde tablonu yaparsın ondan sonra butona her bastıgında o tarihle bir satır ekleme işlemi yaparsın.
PHP'de anlık tarihi alma fonksiyonu;

    $now = date("d-m-Y H:i");

Ekleme işlemini yaptıktan sonra, kullanıcıı her butona bastığı zaman gidersin tablona userID'si o olan kullanıcının en büyük id'sini getirirsin. Yani en son reklama tıkladığı zaman ki verileri.
Ondan sonra o satırdaki tarih ile tekrar bastığındaki zamanları birbirininden çıkartırsın. Fark >=20 ' ise tabloya tekrar ekleme yaparsın.
Eğer diyelim ki dakika fark >=20 tabloya ekleme yapıldı uyarı verirsin başarılı bir şekilde diye.
Eğer dakika fark < 20 ' ise ekletmezsin ona göre uyarını verisin.

PHP'de iki tarih arasındaki farkı bulma örneği;


// Zamanı Türkiye'ye göre ayarladık.
date_default_timezone_set('Europe/Istanbul');

$baslangicTarihi = strtotime("25-05-2020 10:50:12"); 
//baslangicTarihi => o zamana kadar geçen saniyesini buluyoruz.

$bitisTarihi = strtotime("29-05-2021 12:30:25");
//bitisTarihi => o zamana kadar geçen saniyesini buluyoruz.

$fark = $bitisTarihi - $baslangicTarihi;
//Aradaki saniye farkını bulduk.

$dakika = $fark / 60;
$saniye_farki = floor($fark - (floor($dakika) * 60));

$saat = $dakika / 60;
$dakika_farki = floor($dakika - (floor($saat) * 60));
 
$gun = $saat / 24;
$saat_farki = floor($saat - (floor($gun) * 24));
 
$yil = floor($gun/365);
$gun_farki = floor($gun - (floor($yil) * 365));
 
echo $yil . ' yıl ';
echo $gun_farki . ' gün ';
echo $saat_farki . ' saat ';
echo $dakika_farki . ' dakika ';
echo $saniye_farki . ' saniye ';
//Çıktı: 1 yıl 4 gün 1 saat 40 dakika 13 saniye

Kolay gelsin.

rephp7
1024 gün önce

şöyle yapabilirsin:
işlemin butona bağlı bir işlem ise tablona (lasttime) zaman damgası basarsın. Eğer (if else sorgusu) şimdiki saat ile tablodaki saat farkı 20 dk. dan fazlaysa butonu aktif edersin değilse Henüz süre dolmadı yazdırırsın.
ancak böyle süre kontrolü yapabilirsin. üye her butona bastığında da üye satırında lasttime hücrene güncel zamanı atarsın.

Hatta islem_adedi de ekletirsen ilerde günlük tıklama limiti koyarsan bunu da kriter olarak kullanırsın. Üye günde 10 defadan fazla butona tıklayamaz gibi. Onu da value değerine her defasında +1 vererek ekletirsin.

faridaliyev
1024 gün önce

Hazır scriptler internette var. Sadece kendi sitem için kendi scriptimi yapmak istiyorum.

faridaliyev
1024 gün önce

Evet veritabanı kullanılıcak.

faridaliyev
1024 gün önce

Şöyle anlatayım. Ben bir kripto para kazandıran site yapıyorum. Localhostda script hazır şekilde duruyor. Yapılacak işlem de hazır.
Yani, bir defa linke tıklayıp, reklamları izleyip kazancını aldı. Bu işlemi tekrar 20 dakika sonra yapa bilsin. Her işlem arası bekleme süresi 20 dakika olsun.

abdullahx
1024 gün önce

Veri tabanı kullanacak mısın, kullanacaksan kafandaki tablo yapısından biraz bahsedersen çözüm bulabiliriz.