• 24-07-2009, 02:32:42
    #10
    php.net/strtotime - süreyi strtotime ile tanımla unix time olarak çıktı alabilirsin. kullanıcının banını trigger ile ya da zamanı karşılaştırarak yapabilirsin.
  • 24-07-2009, 02:38:37
    #11
    Üyeliği durduruldu
    torrentz adlı üyeden alıntı: mesajı görüntüle
    Banlananların verilerini bir tabloda tut. Tabloda baslangic_tarihi, bitis_tarihi, ban_sebebi, uye_id gibi sütunlar olsun. Login esnasında bu tablodaki verilerle karşılaştır üye IDsini. Ban bitiş tarihi, şuandan büyükse login olmasına izin verme hatta vbulletin tarzı "şu sebepten dolayı şu tarihe kadar banlandınız" gibi bir mesaj yazdır ekrana. ban bitiş tarihi, şuandan küçükse mevcut girdiyi sil ban tablosundan.
    umarım anlatabilmişimdir.
    Zaten dediginiz tablolar var. birde sitede login sistemi yok kodu durek index.phpya atiyorum.
    @zoizo:
    zaten onun gibi birsey deniyoruz
    DATE_SUB(NOW() alip karsilastiriyoruz banlanma tarihinle ve kac gun
  • 24-07-2009, 02:44:24
    #12
    banlanma tarihi ve bitiş tarihini databaseye date olarak kayıt ettir.

    bitis tarihi ile şimdi tarihi karşılaştır, eğer bitiş tarihi bugünden küçükse kaldırtdır.
    $simdikizaman = date("m-d-Y")
    $sil = mysql_query("DELETE FROM banned WHERE bitis<'$simdikizaman'");
  • 24-07-2009, 02:56:54
    #13
    Üyeliği durduruldu
    Ntie adlı üyeden alıntı: mesajı görüntüle
    banlanma tarihi ve bitiş tarihini databaseye date olarak kayıt ettir.
    bitis tarihi ile şimdi tarihi karşılaştır, eğer bitiş tarihi bugünden küçükse kaldırtdır.
    $simdikizaman = date("m-d-Y")
    $sil = mysql_query("DELETE FROM banned WHERE bitis<'$simdikizaman'");
    Hocam verdiginiz kod bani silmekle alakali bani kontrol etmekle degilki
  • 24-07-2009, 03:19:11
    #14
    Benim verdiğim kod ile süresi dolan banları kaldırırsınız, sizde zaten süresi dolan banların nasıl kaldırılacağını sormuşsunuz.
  • 24-07-2009, 03:33:02
    #15
    Üyeliği durduruldu
    Ntie adlı üyeden alıntı: mesajı görüntüle
    Benim verdiğim kod ile süresi dolan banları kaldırırsınız, sizde zaten süresi dolan banların nasıl kaldırılacağını sormuşsunuz.
    Sizin verdiginiz kodu kulanirsam eger simdikizamanla bir ban yoksa else ile banida aramam lazim.

    Bu sekil bir ekstra sorgu daha aciliyor, ama calisir.

    Daha güzel bir yontem bulunmazsa kulanirim.

    tskler
  • 24-07-2009, 03:38:23
    #16
    Senin istediğiniz hem login olamasın hemde zamanı dolduysa banı kalksın? Böyle birşeymi istiyorsun ?

    Eğer böyle birşey istiyorsan bir değer daha verip örnek olarak DURUM(int) şeklinde, eğer banlanırsa 0 banlı değilse 1 yaparsın ve verdiğim kod ile silmek yerine zamanları karşılaştırıp ban süresi dolduğunda 1 değerini verirsin ve giriş yapar, eğer durum 0 ve zamanı dolmamışsa echo "Banlısınız"; yazar bırakırsın.

    Yani delete yerine insert kullanırsın.
  • 24-07-2009, 03:38:39
    #17
    Misafir
    Ntie adlı üyeden alıntı: mesajı görüntüle
    Benim verdiğim kod ile süresi dolan banları kaldırırsınız, sizde zaten süresi dolan banların nasıl kaldırılacağını sormuşsunuz.
    Arkadaş siteye girdiğinde üyenin banlı olup olmadığını araştırıyor.

    Buarada ip ban kullanma, modem reset sonrası ip son hane değiştiği için siteye giriş sağlanacaktır.
  • 24-07-2009, 03:40:50
    #18
    İp ban ile olmaz zaten bykaan nick banlaması ile olur bu tür işler. Nick banlanırsa yukarıda dediğim gibi Durum(0,1) değerini alırsa istediği kadar modemi resetlesin nick banı kalkmadıktan sonra giriş yapamaz.