• 01-06-2021, 01:11:48
    #10
    gencbeyin adlı üyeden alıntı: mesajı görüntüle
    hocam login kodlarını koy düzenleyelim.
    hocam ben günlük cron ile halletsin istiyorum login kısmı ile olsun istemiyorum her gün kimin üyelik bitiş tarihi şu anki tarihle uyuşuyorsa d m y olarak ona göre onun status'u 1e çevircek
  • 01-06-2021, 10:25:55
    #11
    Alanları kendinize göre değiştirin ve veritabanı dosyasını php sayfasının başına include edin. Bu sayfayı da cron'un kontrol edeceği sayfa adı şeklinde kaydedin hostunuza.

    $users = $db->prepare('SELECT * FROM users WHERE status = ? AND premium_due < NOW()');
    $users->execute([1]);
    $users = $users->fetchAll(PDO::FETCH_OBJ);
    
    foreach($users as $user){
        $update = $db->prepare('UPDATE users SET status = ? WHERE ID = ?');
        $update->execute([2,$user->ID]);
    }
    Cron ayarlarını şu şekilde yapmalısınız:
    https://prnt.sc/13ntp6p
  • 01-06-2021, 13:24:28
    #12
    bugünün tarihini bir değişkene al
    $date = '2021-06-01 12:00:00';
    update uyeler set status=1 where PremiumBitis < $date

    Test için önce select ile test et sonra işleme al.


    select * from uye u where u.PremiumBitis <= $date
  • 09-06-2021, 15:52:13
    #13
    FSahin adlı üyeden alıntı: mesajı görüntüle
    Alanları kendinize göre değiştirin ve veritabanı dosyasını php sayfasının başına include edin. Bu sayfayı da cron'un kontrol edeceği sayfa adı şeklinde kaydedin hostunuza.

    $users = $db->prepare('SELECT * FROM users WHERE status = ? AND premium_due < NOW()');
    $users->execute([1]);
    $users = $users->fetchAll(PDO::FETCH_OBJ);
    
    foreach($users as $user){
        $update = $db->prepare('UPDATE users SET status = ? WHERE ID = ?');
        $update->execute([2,$user->ID]);
    }
    Cron ayarlarını şu şekilde yapmalısınız:
    https://prnt.sc/13ntp6p
    bu kod işe yaramadı hocam ilk çalıştırdığımda status seviyesi 1 olanların hepsini 2ye çevirdi

    <?php
    $serverx = 'localhost';
    $usernamex = 'root';
    $passwordx = '';
    $database = 'uyelikcron';
    $date = date('d.m.Y');
    try{
    $db = new PDO("mysql:host=$serverx;dbname=$database ;", $usernamex, $passwordx);
    } catch(PDOException $e){
    die( "Connection failed: " . $e->getMessage());
    }
    $users = $db->prepare("SELECT * FROM users WHERE status = ? AND premium_bitis < $date");
    $users->execute([2]);
    $users = $users->fetchAll(PDO::FETCH_OBJ);

    foreach($users as $user){
    $update = $db->prepare('UPDATE users SET status = ? WHERE id = ?');
    $update->execute([1,$user->id]);
    }

    ?>
    böyle yaptım bu da bişey değiştirmedi
  • 09-06-2021, 21:25:58
    #14
    Üyeliği durduruldu
    Kardeşim PHP bilgin yok belli ki anlamıyosun da.. Anlayan kişiler yardım etmişler kem küm ediyosun üstüne. Böyle yaparak yazılımcıyım diye ortalıkta geziyosunuz geri Kolay gelsin..
  • 09-06-2021, 23:04:04
    #15
    Fertig adlı üyeden alıntı: mesajı görüntüle
    Kardeşim PHP bilgin yok belli ki anlamıyosun da.. Anlayan kişiler yardım etmişler kem küm ediyosun üstüne. Böyle yaparak yazılımcıyım diye ortalıkta geziyosunuz geri Kolay gelsin..
    birincisi senin kardeşin falan değilim ikincisi yazılımcı olduğumu hiçbir zaman hiçbir yerde iddia etmedim kendi çapımda uğraşıyorum üçüncüsü ise kimseye kem küm ettiğim yok sadece tam olarak istediğim şeyi söyledim sağolsun bi abimiz login kodlarımı istedi login kısmına bunu yapmak istemediğimi farklı bir php dosyasında bağladığım cron ile günlük olarak premium bitiş tarihinin ve bugün ki d.m.y biçimindeki tarihi aynıysa kişinin idsine bakılıp status seviyesini 1e indirmesini istedim keşke burnunuzu yardımcı olmayacaksanız böyle şeylere sokmasanız