• 06-08-2019, 13:43:01
    #1
    Merhaba arkadaşlar wp botda takıldığım bazı yerler oldu kayıt yapıyor ancak sayfayı yenileyince tekrardan aynı kayıtları ekliyor bunu nasıl engelleyebilirim şu şekilde birşeyler denedim ama tam olmadı
    foreach($html->find('.HaberSatir') as $article)  
    {    
    $my_post = array();
    $baslik = $article->find('div.HaberBaslik',0)->innertext; //echo $baslik;
    $basliktemiz =   $article->find('div.HaberBaslik',0)->plaintext;
    $my_post['post_title'] = "$basliktemiz";
    $my_post['post_content'] = " $icerik1 <br> $icerik2 ";
    $my_post['post_status'] = 'publish';
    $my_post['post_author'] = 1;
    $my_post['post_category'] = array(19);
    //wp_insert_post($my_post);
    $varmi=mysql_num_rows(mysql_query("SELECT * FROM wp_7vfq4v6qc4_posts WHERE post_title = '$basliktemiz'"));
    if($varmi!=0) { echo "Kayıtlı"; } else {
    $post_id = wp_insert_post($my_post);
    add_post_meta($post_id, 'post_title', $basliktemiz, true);
    }
    }
  • 06-08-2019, 13:47:27
    #2
    Mysqli İçin Yapabilirim Empty Fonksiyonu ile
  • 06-08-2019, 13:54:29
    #3
    - Post işlemini aynı sayfaya değil farklı sayfaya yapın, işlem sonucunda formun olduğu sayfaya yeniden yönlendirme yapın.
    ya da
    - Csrf token kullanın. İlk post işleminden sonra token değişeceği için sayfayı yenilediğinizde token kontrole takılacak ve form içeriği çalışmayacaktır.
    ya da
    - Eklediğiniz içeriği eklemeden hemen önce "slug" dediğimiz sütunu kontrol edin, aynı başlık daha önce eklenmişse tekrar eklemeyin.
  • 06-08-2019, 13:57:13
    #4
    Basliktemiz değişkenine göre kontrol yaptirmissin hocam ama döngü içinde öyle bir değişken yok.
  • 06-08-2019, 14:08:06
    #5
    Zalmoxis adlı üyeden alıntı: mesajı görüntüle
    Basliktemiz değişkenine göre kontrol yaptirmissin hocam ama döngü içinde öyle bir değişken yok.
    hocam eklemeyi ihmal etmişim onu o kısımda var $basliktemiz = $article->find('div.HaberBaslik',0)->plaintext;
    bu şekilde



    CanOffline adlı üyeden alıntı: mesajı görüntüle
    Mysqli İçin Yapabilirim Empty Fonksiyonu ile
    hocam mysqli de olabilir örnek bir ufak birşey yazabilirseniz çok mutlu olurum
  • 06-08-2019, 14:11:31
    #6
    ayilmaz9 adlı üyeden alıntı: mesajı görüntüle
    hocam eklemeyi ihmal etmişim onu o kısımda var $basliktemiz = $article->find('div.HaberBaslik',0)->plaintext;
    bu şekilde




    hocam mysqli de olabilir örnek bir ufak birşey yazabilirseniz çok mutlu olurum
    $yurtsorgu = mysqli_query($baglan, "SELECT * FROM yurtlar WHERE yurt_isim='$isim' and yurt_il='$il'");
    $yurtsonuc = mysqli_fetch_assoc($yurtsorgu);
    if(empty($yurtsonuc)){
    mysqli_query($baglan,"INSERT INTO yurtlar (yurt_fotograf,yurt_isim,yurt_tip,yurt_telefon,yurt_faks,yurt_adres,yurt_il) VALUES ('$resim','$isim','$tip','$telefon','$faks','$adres','$il')");
    }
    Örnek Olarak
  • 06-08-2019, 14:12:23
    #7
    ayilmaz9 adlı üyeden alıntı: mesajı görüntüle
    hocam eklemeyi ihmal etmişim onu o kısımda var $basliktemiz = $article->find('div.HaberBaslik',0)->plaintext;
    bu şekilde




    hocam mysqli de olabilir örnek bir ufak birşey yazabilirseniz çok mutlu olurum
    MySQL num rows ve MySQL query fonksiyonlarını silip $wpdb->get_var(sorgu) şeklinde kontrol yapın hocam.
  • 06-08-2019, 14:23:55
    #8
    CanOffline adlı üyeden alıntı: mesajı görüntüle
    $yurtsorgu = mysqli_query($baglan, "SELECT * FROM yurtlar WHERE yurt_isim='$isim' and yurt_il='$il'");
    $yurtsonuc = mysqli_fetch_assoc($yurtsorgu);
    if(empty($yurtsonuc)){
    mysqli_query($baglan,"INSERT INTO yurtlar (yurt_fotograf,yurt_isim,yurt_tip,yurt_telefon,yurt_faks,yurt_adres,yurt_il) VALUES ('$resim','$isim','$tip','$telefon','$faks','$adres','$il')");
    }
    Örnek Olarak
    wp olaraklazım hocam ya



    arkadaşlar çözüme tam olarak kavuşamadım yardımcı olabilecek varsa memnun olurum
  • 07-08-2019, 00:50:29
    #9
    Pdo Yapmadım Mysqli Yaptım Sorun Teşkil Etmez Sanırsam Ama Veri Tabanı Bilgilerinizi İlk Satıra Girmeniz Lazım
    $baglan = mysqli_connect("localhost","kullanıcıadı","şifre","database");
    mysqli_set_charset($baglan, "utf8");
    foreach($html->find('.HaberSatir') as $article)
    {
    $my_post = array();
    $baslik = $article->find('div.HaberBaslik',0)->innertext; //echo $baslik;
    $basliktemiz = $article->find('div.HaberBaslik',0)->plaintext;
    $my_post['post_title'] = "$basliktemiz";
    $my_post['post_content'] = " $icerik1 <br> $icerik2 ";
    $my_post['post_status'] = 'publish';
    $my_post['post_author'] = 1;
    $my_post['post_category'] = array(19);
    $sorgu = mysqli_query($baglan, "SELECT * FROM wp_7vfq4v6qc4_posts WHERE post_title='$basliktemiz'");
    $sonuc = mysqli_fetch_assoc($sorgu);
    if(empty($sonuc)){
    wp_insert_post($my_post);
    add_post_meta($post_id, 'post_title', $basliktemiz, true);
    } else {
    echo "Zaten Kayıtlı";
    }
    }