• 13-02-2015, 12:57:34
    #1
    Merhabalar... otomatik isimli tabloya daha önce verileri çekip kaydettim ve cron.php sayesinde Cronjob ile verileri 3 saatte bir siteye göndermek istiyorum. siteismi.com/cron.php olarak çalıştırdığımda veriyi sorunsuz bir şekilde otomatik tablosundan çekip siteye gönderiyor ( çektiği veriyi işlem sonunda otomatik tablosundan siliyor ).. Bu işlemi Cronjob ile yaptığımda sonsuz döngüye girerek her dakika 1 içeriği siteye gönderiyor.. Kodlama sonunda mysql_close($baglan); kullanmama rağmen bu nasıl olur?
  • 13-02-2015, 14:04:52
    #2
    XAI_Technology adlı üyeden alıntı: mesajı görüntüle
    Merhabalar... otomatik isimli tabloya daha önce verileri çekip kaydettim ve cron.php sayesinde Cronjob ile verileri 3 saatte bir siteye göndermek istiyorum. siteismi.com/cron.php olarak çalıştırdığımda veriyi sorunsuz bir şekilde otomatik tablosundan çekip siteye gönderiyor ( çektiği veriyi işlem sonunda otomatik tablosundan siliyor ).. Bu işlemi Cronjob ile yaptığımda sonsuz döngüye girerek her dakika 1 içeriği siteye gönderiyor.. Kodlama sonunda mysql_close($baglan); kullanmama rağmen bu nasıl olur?
    kodlarınızı paylaşma şansınız var mı?
    • XAI_Technology
    XAI_Technology bunu beğendi.
    1 kişi bunu beğendi.
  • 13-02-2015, 15:22:15
    #3
    İlginiz için çok teşekkür ederim. Kodlarım aşağıda.. query olarak LIMIT 0,1, mysql_close() ve exit; ile bitirmeme rağmen Cronjob ile çalışan dosya sonsuz bir şekilde tablo boşalana kadar veritabanından veri çekiyor..

    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    
    <?php	
    include 'baglan.php'; 
    error_reporting(1);
    
    function eklenmis($link) {
    $kontrol = mysql_query("SELECT * FROM wp_posts WHERE post_title like '%$link%'");
    if(mysql_num_rows($kontrol) > 0) { return true; }
    else { return false; }
    }
    
    function trkontrol($deger) {
    $deger=strtolower($deger);
    $turkce=array("ı","İ","Ş","ş","Ü","ü","Ö","ö","Ğ","ğ"," ","ı","g","ö","ü","ş","Ö","S","I","G","Ü","?","!","(",")");
    $duzgun=array("i","i","s","s","u","u","o","o","g","g","-","i","g","o","u","s","O","S","I","G","I","G","U","","");
    $deger=str_replace($turkce,$duzgun,$deger);
    return $deger;
    }
    
    
    header ('Content-type: text/html; charset=utf-8');
    
    
    
    $baslikbul=mysql_query("SELECT * FROM otomatik ORDER BY RAND() DESC LIMIT 0,1");
    
    while ($va = mysql_fetch_assoc($baslikbul))
    {
    $idsil=$va['id'];
    $baslik=trim($va['baslik']);
    $resim = $va['resim'];
    $swf=$va['swf'];
    $aciklama = $va['aciklama'];
    $kategori = $va['kategori'];
    
    }
    /*
    $kategori = explode(',', $kategori);
    */
    $now1 = date('Y-m-d H:i:s');
    $now2 = date('Y-m-d H:i:s',strtotime("+3 hours"));
    
    if(eklenmis($baslik)) {
    
    echo $baslik.' isimli oyun daha önce eklenmiş<br>';
    
    }else{
    
    $post = array(
    
    'comment_status' => 'open', // 'closed' yoruma kapali.
    'ping_status' => 'open', //Ping durumu?
    'post_author' => 1, //Yazarin kullanici ID'si.
    'post_category' => array($kategori), //Yazi kategorileri.
    'post_content' => $aciklama, //Yazinin içerigi.
    'post_status' => 'publish', //Yeni yazinin yayimlanma durumu. Taslak, yayimlanmis, onay bekliyor.
    'post_title' => $baslik, //Yazinin basligi.
    'post_type' => 'post' //Yazinin türü, yazi, sayfa.
    
    );	
    
    $ayarcek = mysql_query("SELECT * FROM cybot_ayarlar");
    $ayar = mysql_fetch_assoc($ayarcek);
    
    wp_set_current_user(1);
    $id = wp_insert_post($post);
    add_post_meta($id, $ayar['swfozelalan'], $swf); 
    add_post_meta($id, $ayar['resimozelalan'], $resim); 
    
    if($id){
    
    echo '<font color="#356C17">'.$baslik.' oyunu eklenmistir</font>';
    
    }else{
    
    echo '<font color="#AD1E20">Bir sorun olustu !</font>';
    
    }
    
    // EKLEME BITMISTIR
    }
    
    
    $idsiliniyor = mysql_query("DELETE FROM otomatik WHERE id='$idsil'");		
    
    if($idsiliniyor){
    
    echo ' ve <font color="#356C17">'.$idsil.' id numaralı '.$baslik.' oyunu otomatik sistemden silinmistir</font>';
    
    }else{
    
    echo ' ve <font color="#AD1E20">'.$idsil.' numaralı '.$baslik.' silinememistir !</font>';
    exit;
    }
    mysql_close($nelan);
    exit;
    
    ?>
  • 13-02-2015, 17:53:48
    #4
    XAI_Technology adlı üyeden alıntı: mesajı görüntüle
    İlginiz için çok teşekkür ederim. Kodlarım aşağıda.. query olarak LIMIT 0,1, mysql_close() ve exit; ile bitirmeme rağmen Cronjob ile çalışan dosya sonsuz bir şekilde tablo boşalana kadar veritabanından veri çekiyor..

    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    
    <?php	
    include 'baglan.php'; 
    error_reporting(1);
    
    function eklenmis($link) {
    $kontrol = mysql_query("SELECT * FROM wp_posts WHERE post_title like '%$link%'");
    if(mysql_num_rows($kontrol) > 0) { return true; }
    else { return false; }
    }
    
    function trkontrol($deger) {
    $deger=strtolower($deger);
    $turkce=array("ı","İ","Å�","ş","Ü","ü","Ö","ö","Ä�","ğ"," ","ı","g","ö","ü","ş","Ö","S","I","G","Ü","?","!","(",")");
    $duzgun=array("i","i","s","s","u","u","o","o","g","g","-","i","g","o","u","s","O","S","I","G","I","G","U","","");
    $deger=str_replace($turkce,$duzgun,$deger);
    return $deger;
    }
    
    
    header ('Content-type: text/html; charset=utf-8');
    
    
    
    $baslikbul=mysql_query("SELECT * FROM otomatik ORDER BY RAND() DESC LIMIT 0,1");
    
    while ($va = mysql_fetch_assoc($baslikbul))
    {
    $idsil=$va['id'];
    $baslik=trim($va['baslik']);
    $resim = $va['resim'];
    $swf=$va['swf'];
    $aciklama = $va['aciklama'];
    $kategori = $va['kategori'];
    
    }
    /*
    $kategori = explode(',', $kategori);
    */
    $now1 = date('Y-m-d H:i:s');
    $now2 = date('Y-m-d H:i:s',strtotime("+3 hours"));
    
    if(eklenmis($baslik)) {
    
    echo $baslik.' isimli oyun daha önce eklenmiş<br>';
    
    }else{
    
    $post = array(
    
    'comment_status' => 'open', // 'closed' yoruma kapali.
    'ping_status' => 'open', //Ping durumu?
    'post_author' => 1, //Yazarin kullanici ID'si.
    'post_category' => array($kategori), //Yazi kategorileri.
    'post_content' => $aciklama, //Yazinin içerigi.
    'post_status' => 'publish', //Yeni yazinin yayimlanma durumu. Taslak, yayimlanmis, onay bekliyor.
    'post_title' => $baslik, //Yazinin basligi.
    'post_type' => 'post' //Yazinin türü, yazi, sayfa.
    
    );	
    
    $ayarcek = mysql_query("SELECT * FROM cybot_ayarlar");
    $ayar = mysql_fetch_assoc($ayarcek);
    
    wp_set_current_user(1);
    $id = wp_insert_post($post);
    add_post_meta($id, $ayar['swfozelalan'], $swf); 
    add_post_meta($id, $ayar['resimozelalan'], $resim); 
    
    if($id){
    
    echo '<font color="#356C17">'.$baslik.' oyunu eklenmistir</font>';
    
    }else{
    
    echo '<font color="#AD1E20">Bir sorun olustu !</font>';
    
    }
    
    // EKLEME BITMISTIR
    }
    
    
    $idsiliniyor = mysql_query("DELETE FROM otomatik WHERE id='$idsil'");		
    
    if($idsiliniyor){
    
    echo ' ve <font color="#356C17">'.$idsil.' id numaralı '.$baslik.' oyunu otomatik sistemden silinmistir</font>';
    
    }else{
    
    echo ' ve <font color="#AD1E20">'.$idsil.' numaralı '.$baslik.' silinememistir !</font>';
    exit;
    }
    mysql_close($nelan);
    exit;
    
    ?>

    hocam kodlarda görünürde bir sıkıntı yok sonra exit ve mysql_close demenize ya da limit 0,1 demenize de gerek yok sonuçta kayıt sayısı sonsuz değil sonsuz döngüye girmesi için bir sebep yok/ben göremedim.

    sayfayı harici olarak çağırdığınızda çalıştığını söylemiştiniz değil mi?

    Not: header kodunu kaldırın sayfa içinden. iki adet chartset ataması yapılıyor sayfa içinde.

    düzenleme: $now1 ve $now2 tarihleri neden tanımlandı nerde kullandığınızı göremedim
  • 13-02-2015, 20:43:24
    #5
    Cronu php olarak çalıştırıyorsanız dizin hatalarıyla karşılaşabilirsiniz. Direk adres olarak girince sorun olmuyorsa
    wget -0- "site adresi"
    şeklinde kullanmanızı tavsiye ederim
  • 13-02-2015, 20:44:08
    #6
    Misafir adlı üyeden alıntı: mesajı görüntüle
    hocam kodlarda görünürde bir sıkıntı yok sonra exit ve mysql_close demenize ya da limit 0,1 demenize de gerek yok sonuçta kayıt sayısı sonsuz değil sonsuz döngüye girmesi için bir sebep yok/ben göremedim.

    sayfayı harici olarak çağırdığınızda çalıştığını söylemiştiniz değil mi?

    Not: header kodunu kaldırın sayfa içinden. iki adet chartset ataması yapılıyor sayfa içinde.

    düzenleme: $now1 ve $now2 tarihleri neden tanımlandı nerde kullandığınızı göremedim

    ispanyol, italyan ve lehçe dillerindeki özel karakter sorunları nedeniyle header üstünde <meta utf-8 kodu kullanmak zorunda kaldım.. $nov1 ve 2 kodlamanın bir önceki versiyonundan kalmış ..


    kayamehmet adlı üyeden alıntı: mesajı görüntüle
    Cronu php olarak çalıştırıyorsanız dizin hatalarıyla karşılaşabilirsiniz. Direk adres olarak girince sorun olmuyorsa
    wget -0- "site adresi"
    şeklinde kullanmanızı tavsiye ederim

    iki türlüde denedim maalesef sonuç değişmiyor..
  • 16-02-2015, 01:43:04
    #7
    Dostum bana kalırsa cron u yanlış oluşturuyorsun.

    Kodlarda hata yok ama tut ki bir hatadan dolayı tarayıcıdan yazınca düzgün çalışıyor sadece; böyle bir durumda kayamehmet'in söylediği şekil işini görecekti. Hala sorun varsa, cron oluştururken bir hata yapıyorsundur.

    Sayfa sonundaki mysql_close ve exit anlam taşımıyorlar zaten. mysql_close un amacı uzun işlemler yapılırken mysqlden kopmaktır.