• 11-04-2020, 18:31:33
    #1
    2 gündür php kurslarını izliyorum. Yapılan işlemi myql ile veritabanına ekliyorum fakat aynı link için 6 saatte bir gönderim yapabilmesini nasıl ayarlayabilirim?
    Yardımcı olabilecek varmıdır?
    Kodlarım:
    <?php
    if (isset($_POST['islem'])) {
    $kaydet=$db ->prepare("INSERT into bil set
    bilgi_link=:bilgi_link,
    bilgi_miktar=:bilgi_miktar
    
    ");
    $insert=$kaydet -> execute(array(
    'bilgi_link'=> $_POST['bilgi_link'],
    'bilgi_miktar'=> $_POST['bilgi_miktar']
    
    ));
    if ($insert) {
    echo "İşlem Başarılı";
    } else {
    echo "İşlem Başarısız";
    }
    
    }
     ?>
  • 11-04-2020, 18:34:05
    #2
    Cron kullanarak
  • 11-04-2020, 18:34:20
    #3
    kayıt ederken zaman tut, sonraki eklemede kontrol et. ona göre kaydet veya etme.
  • 11-04-2020, 18:34:25
    #4
    Luwexigo adlı üyeden alıntı: mesajı görüntüle
    2 gündür php kurslarını izliyorum. Yapılan işlemi myql ile veritabanına ekliyorum fakat aynı link için 6 saatte bir gönderim yapabilmesini nasıl ayarlayabilirim?
    Yardımcı olabilecek varmıdır?
    Kodlarım:
    <?php
    if (isset($_POST['islem'])) {
    $kaydet=$db ->prepare("INSERT into bil set
    bilgi_link=:bilgi_link,
    bilgi_miktar=:bilgi_miktar
    
    ");
    $insert=$kaydet -> execute(array(
    'bilgi_link'=> $_POST['bilgi_link'],
    'bilgi_miktar'=> $_POST['bilgi_miktar']
    
    ));
    if ($insert) {
    echo "İşlem Başarılı";
    } else {
    echo "İşlem Başarısız";
    }
    
    }
     ?>
    6 saatte bir ile kastın nedir? Kodun arkaplanda 6 saatlik aralıklarla aynı bilgiyi veritabanına eklemesi mi?
  • 11-04-2020, 18:34:57
    #5
    Luwexigo adlı üyeden alıntı: mesajı görüntüle
    2 gündür php kurslarını izliyorum. Yapılan işlemi myql ile veritabanına ekliyorum fakat aynı link için 6 saatte bir gönderim yapabilmesini nasıl ayarlayabilirim?
    Yardımcı olabilecek varmıdır?
    Kodlarım:
    <?php
    if (isset($_POST['islem'])) {
    $kaydet=$db ->prepare("INSERT into bil set
    bilgi_link=:bilgi_link,
    bilgi_miktar=:bilgi_miktar
    
    ");
    $insert=$kaydet -> execute(array(
    'bilgi_link'=> $_POST['bilgi_link'],
    'bilgi_miktar'=> $_POST['bilgi_miktar']
    
    ));
    if ($insert) {
    echo "İşlem Başarılı";
    } else {
    echo "İşlem Başarısız";
    }
    
    }
     ?>
    cronjobs, linux biliyorsunuz zannediyordum
  • 11-04-2020, 18:35:56
    #6
    cron kullanırsan işini görecektir en son yükleme tarihini hafızaya al 6 saati geçmişse cron otomatik olarak sayfaya girsin işlem oluşsun
    https://cron-job.org/en/
  • 11-04-2020, 18:37:00
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Cron kullanarak
    kavas adlı üyeden alıntı: mesajı görüntüle
    kayıt ederken zaman tut, sonraki eklemede kontrol et. ona göre kaydet veya etme.
    cea adlı üyeden alıntı: mesajı görüntüle
    6 saatte bir ile kastın nedir? Kodun arkaplanda 6 saatlik aralıklarla aynı bilgiyi veritabanına eklemesi mi?
    Aynı link 6 saat geçmeden tekrar girilemez olması
    yalinyalniz adlı üyeden alıntı: mesajı görüntüle
    cronjobs, linux biliyorsunuz zannediyordum
    Dahaca çok yeniyim. Cron vs. pek bilgim yok.
  • 11-04-2020, 18:52:35
    #8
    Tamam, durum şu.

    PHP yapısı gereği kendiliğinden tekrarlanan bir görevi gerçekleştiremez. Bunun için diğer arkadaşların da belirttiği gibi cronjob tanımlaman gerekli. Cronjob ile işleyecek kod veritabanında önce yeni eklenen bilgiyi bilgi_link içerisinde arayacak şayet varsa bilgi_zaman hücresindeki zaman etiketine bakacak. Şimdiki zaman ile buradaki zaman farkı 6 saat değilse veriyi kabul etmeyecek, 6 saat ve üzeri ise tabloya veriyi insert edecek.

    Bu arada @Luwexigo; , ilk mesajını temel aldığımızda link ekleme işleminin otomatik olduğunu düşünüyoruz, ancak, sanırım şu aşamada bir kullanıcı tarafından link eklenecek gibi algılıyorum, doğru mudur?
  • 11-04-2020, 18:59:51
    #9
    cea adlı üyeden alıntı: mesajı görüntüle
    Tamam, durum şu.

    PHP yapısı gereği kendiliğinden tekrarlanan bir görevi gerçekleştiremez. Bunun için diğer arkadaşların da belirttiği gibi cronjob tanımlaman gerekli. Cronjob ile işleyecek kod veritabanında önce yeni eklenen bilgiyi bilgi_link içerisinde arayacak şayet varsa bilgi_zaman hücresindeki zaman etiketine bakacak. Şimdiki zaman ile buradaki zaman farkı 6 saat değilse veriyi kabul etmeyecek, 6 saat ve üzeri ise tabloya veriyi insert edecek.

    Bu arada @Luwexigo; , ilk mesajını temel aldığımızda link ekleme işleminin otomatik olduğunu düşünüyoruz, ancak, sanırım şu aşamada bir kullanıcı tarafından link eklenecek gibi algılıyorum, doğru mudur?
    Evet, link kullanıcı tarafından ekleniyor.