verileri kaydederken time degeri kaydedeip direk time degerine gore sorgu yazabilirsiniz
arkadaşlar selam, bir mesajlaşma sistemi yazıyorum.
sisteme limitler koymayı düşündüm.
Şöyle: 1 dakikada 2, 10 dakikada 15, 30 dakikada 30, 1 saatte 50, 12 saatte 75, 1 günde 100...
nasıl bir sistem kurmamı tavsiye edersiniz
verileri kaydederken time degeri kaydedeip direk time degerine gore sorgu yazabilirsiniz
her mesajın tarihini kaydediceksin verileri çekerken ilk mesajla son mesajın tarihini kıyaslıyarak listeleticeksin. ve o zaman zarfı içindeki tüm zamanı hesaplıcaksın ve limitliceksin.
şimdi ortada bir üyelik sistemi de yok ip ile limit yapsam diyorum örneğin;
111.111.111.111 ip önceden bir işlem yapmış mı?
Yapmışsa tarihe sonrada saate bakılır.
Peki bu tarih ve saat karşılaştırmasını nasıl yapıcam?
Şöyle bir şey olabilir,
bu şekildede kullanılabilir.PHP Kodu:<?php
function saatfarkibul($tarih) {
//datanın mysql datetime format seklinde geldiginiz farz edelim.
//tarihi ve saati ayır.
list($tarih,$zaman) = explode(" ",$tarih);
//yıl gun ay ayır.
list($y,$a,$g) = explode("-",$tarih);
//saat dk ve saniye ayır
list($saat,$dakika,$saniye) = explode(":",$zaman);
//unixtimestamp olarak cevir.
$mesaj_tarihi = mktime($saat,$dakika,$saniye,$a,$g,$y);
//Su anki timestampi al.
$simdi = time();
// Su andan mesaj tarih ve saatinin timestamp degerini cikar ve 60 a böl. böylece dakika olarak farkı bulmuş oluyoruz.
$result = ($simdi - $mesaj_tarihi) / 60;
return $result;
}
?>
PHP Kodu:echo saatfarkibul("2010-02-09 20:30:00");
mantık olarak tablona tarih ve ip ekle ve mesaj yollayan ip ve yollandığı andaki time değerini al
daha sonra sorgudan çek SELECT zaman ,ip WHERE ip='$ip' ORDER BY ip DESC Şeklinde Sor ip ile yapılan Son Kayıda Ulaşırsın ve zaman çekersin ne zaman kayıt edilmiş Ve Ona kaç Dakka Sonra İşlem Yaptıracaksan Düznlersin
çok teşekkürler de windows sunucuda çalışmıyor sanırım mktime()
XP - Apache de yazdım o ufak fonksiyonu, IIS'tede farklı davrancağini sanmam sonuçta php yerleşik fonksiyonu.
diyo...Warning: mktime() expects parameter 1 to be long, string given in
php.net 'ten bir alıntı
As of PHP 5.1, when called with no arguments, mktime() throws an E_STRICT notice: use the time() function instead.
What we do for ourselves dies with us.
What we do for others and the world remains and is immortal.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks