• 30-11-2021, 14:47:26
    #1
    Üyeliği durduruldu
    selam arkadaşlar bir konuda takıldım şimdi ben bir chat scripti yazıyorum fakat şöle birşey yapmak istiyorum belirli bir gün geçtikten sonra atıyorum 30 gün sonra sistem odayı kitlesin istiyorum bunu yapmaya çalıştım ama yapamadım aşağıdaki kodları atıyorum ama nedense çalışmadı. bi yardımcı olursanız sevinirim. genel anlamda kodlar şöle;
    $zaman= date("d.m.Y",strtotime('+1day'));
    if($zaman){
    $ev= "evet";
    $is= 1;
    
    $iktidar= $db->prepare("UPDATE odalar SET odakilitle=?,odakilitmetin=? WHERE sonodeme=?");
    $iktidar->bindParam(1,$is);
    $iktidar->bindParam(2,$ev);
    $iktidar->bindParam(3,$zaman);
    $iktidar->execute();
    }
  • 30-11-2021, 15:00:15
    #2
    Merhaba,
    Yapmanız gereken işlem şöyle ki oda ilk ne zaman açılmışsa onun tarihini tutmak veya ilk mesaj tarihini çekmek tuttuktan sonra basit kontrolle odanın kilitlenip kilitlenmeyeceğini anlamak..

    <?php
    $ilkChatTarihi = '30.10.2021';
    $arttirilmisZaman = date("d.m.Y",strtotime('+1 month', strtotime($ilkChatTarihi)));
    
    if(strtotime(date("d.m.Y")) >= strtotime($arttirilmisZaman)){
        echo 'üstünden zaman geçmiş veya kilitlenmesi gereken tarih bugün oda kilitlenecek.';
    }
    
    ?>
  • 30-11-2021, 15:03:01
    #3
    $zaman = date('d/m/Y', strtotime('+30day')); bu 30 gün ekler.Eğer saatte eklerseniz bu işinizi görür.
    $zaman = date('d/m/Y H:i:s', strtotime('+30day'));
    pardon şöyle yapacaksınız bence. Odayı açtığınız tarihe mesela kayit_tarihi deyin databasede sonra da kilit_tarihi diye ikinci kolon olsun. Oraya da kaç gün sonra kilitleneceğini kaydedin. Sonra cron job da bir dosya çalıştırın. Her gün kilit tarihi gelen odaları kilitlesin otomatik olarak.
  • 30-11-2021, 15:15:22
    #4
    Üyeliği durduruldu
    blap adlı üyeden alıntı: mesajı görüntüle
    $zaman = date('d/m/Y', strtotime('+30day')); bu 30 gün ekler.Eğer saatte eklerseniz bu işinizi görür.
    $zaman = date('d/m/Y H:i:s', strtotime('+30day'));
    pardon şöyle yapacaksınız bence. Odayı açtığınız tarihe mesela kayit_tarihi deyin databasede sonra da kilit_tarihi diye ikinci kolon olsun. Oraya da kaç gün sonra kilitleneceğini kaydedin. Sonra cron job da bir dosya çalıştırın. Her gün kilit tarihi gelen odaları kilitlesin otomatik olarak.
    hocam anydeskten yardımcı olabilirmisiniz ben tam anlamadım konuyu
  • 30-11-2021, 15:19:19
    #5
    Üyeliği durduruldu
    blap adlı üyeden alıntı: mesajı görüntüle
    $zaman = date('d/m/Y', strtotime('+30day')); bu 30 gün ekler.Eğer saatte eklerseniz bu işinizi görür.
    $zaman = date('d/m/Y H:i:s', strtotime('+30day'));
    pardon şöyle yapacaksınız bence. Odayı açtığınız tarihe mesela kayit_tarihi deyin databasede sonra da kilit_tarihi diye ikinci kolon olsun. Oraya da kaç gün sonra kilitleneceğini kaydedin. Sonra cron job da bir dosya çalıştırın. Her gün kilit tarihi gelen odaları kilitlesin otomatik olarak.
    yalnız bişiler yaptım buldum ama şöle bir durum var otarihe geldikten sonra kitliyor ama sayfa yenilendiğinde o işlemi yapıyor ben sayfa yenilenmeden yapılmasını istiyorum bunu javscript ilemi yapıcaz?
  • 30-11-2021, 15:20:45
    #6
    Betmen35 adlı üyeden alıntı: mesajı görüntüle
    yalnız bişiler yaptım buldum ama şöle bir durum var otarihe geldikten sonra kitliyor ama sayfa yenilendiğinde o işlemi yapıyor ben sayfa yenilenmeden yapılmasını istiyorum bunu javscript ilemi yapıcaz?
    hayır cron job ile yapacaksınız bu işlemleri.

    https://www.youtube.com/watch?v=ZSfCg2_0NIA
  • 30-11-2021, 15:29:10
    #7
    Üyeliği durduruldu
    blap adlı üyeden alıntı: mesajı görüntüle
    hayır cron job ile yapacaksınız bu işlemleri.

    https://www.youtube.com/watch?v=ZSfCg2_0NIA
    izledim videoyu ama cronejob kullanmadan yapamazmıyız? yani localhostta bu otomatik çalışmazmı?
  • 30-11-2021, 19:01:52
    #8
    Veritabanı bağlantılı işlerle genelde sayfa yenilemeden anlık işlemler için AJAX kullanılır. Yukarıdaki örneklerle birlikte bir .php dosyası oluşturursunuz ve bu dosyası AJAX ile çalıştırmak istediğiniz sayfada gösterirsiniz.