Şimdi Ara

Yazdırmış olduğum php bot ta bi özelliği değiştirmek istiyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
17
Cevap
0
Favori
657
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Yazdırmış olduğum bot forum, sayfa ve kişilerin gönderilerini rasgele seçip facebook benzeri duvarda rasgele şekilde yayınlamaktadır. Yalnız sürekli çok eski gönderileri satırlardan seçmekte ve yayınlamakta. Aşağıda gösterilen kodda nereyi nasıl değiştireyim ki forumda yayınlanan son 20 gönderiyi, sayfada ( guruplarda)) yayınlanan son 20 gönderiyi ve kişilerin (user) son 20 gönderiyi rasgele seçsin. Ek sik dosya varsa onları da yükleyebilirim. Yardımlarınız için şimdiden teşekkürler

    <?php
    $fl = fopen('hm.txt', 'r');
    $str = fgets($fl);
    fclose($fl);
    preg_match('#<user>(.*?)</user>#s', $str, $getuser);
    $user = $getuser[1];
    preg_match('#<group>(.*?)</group>#s', $str, $getgroup);
    $group = $getgroup[1];
    preg_match('#<forum>(.*?)</forum>#s', $str, $getforum);
    $forum = $getforum[1];
    $user = htmlspecialchars($user);
    $group = htmlspecialchars($group);
    $forum = htmlspecialchars($forum);
    $user = get_magic_quotes_gpc() ? stripslashes($user) : $user;
    $group = get_magic_quotes_gpc() ? stripslashes($group) : $group;
    $forum = get_magic_quotes_gpc() ? stripslashes($forum) : $forum;
    include('connect.php');
    $user = function_exists('mysql_real_escape_string') ? mysql_real_escape_string($user) : mysql_escape_string($user);
    $group = function_exists('mysql_real_escape_string') ? mysql_real_escape_string($group) : mysql_escape_string($group);
    $forum = function_exists('mysql_real_escape_string') ? mysql_real_escape_string($forum) : mysql_escape_string($forum);



    $time = time();

    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() limit $forum ");






    ?>







  • Daha iyi anlaşılabilmesi için sitemiz www.hopboom.com yerlifacebook projesidir.
  • quote:

    Orijinalden alıntı: hopboomyerlifacebook

    Daha iyi anlaşılabilmesi için sitemiz www.hopboom.com yerlifacebook projesidir.

    o bu değilde sırf o yerli facebook ibaresinden dolayı davalık olabileceğinin farkında mısın ?
  • Hocam sitenizi merak ettim. Kayıt olmak istediğimde kullanıcı adında karakter ve rakam kullanmam gerektiğini söylüyor. Yani AhmetAli16 gibi ? Bu özelliği kaldırsanız daha hoş olur.
  • quote:

    Orijinalden alıntı: BiLims

    Hocam sitenizi merak ettim. Kayıt olmak istediğimde kullanıcı adında karakter ve rakam kullanmam gerektiğini söylüyor. Yani AhmetAli16 gibi ? Bu özelliği kaldırsanız daha hoş olur.

    İlginiz için teşekkürler
  • quote:

    Orijinalden alıntı: Salvat1on

    quote:

    Orijinalden alıntı: hopboomyerlifacebook

    Daha iyi anlaşılabilmesi için sitemiz www.hopboom.com yerlifacebook projesidir.

    o bu değilde sırf o yerli facebook ibaresinden dolayı davalık olabileceğinin farkında mısın ?

    Katılıyorum. Yeni sosyal ağ demeli bence ismine. facebook ibaresi geçmesi hem kullanıcılar tarafından hoş karşılanmaz(şahsen yerli facebook yazısından sonra ben o siteye bi daha girmem. facebook varken gerek duymam napayım..) hemde arkadaşın dediği gibi dava açılır hakkınızda tazminat ödemeniz gerekebilir bu konuda dikkatli olmalısınız




  • quote:

    Orijinalden alıntı: Mr.Finch

    quote:

    Orijinalden alıntı: Salvat1on

    quote:

    Orijinalden alıntı: hopboomyerlifacebook

    Daha iyi anlaşılabilmesi için sitemiz www.hopboom.com yerlifacebook projesidir.

    o bu değilde sırf o yerli facebook ibaresinden dolayı davalık olabileceğinin farkında mısın ?

    Katılıyorum. Yeni sosyal ağ demeli bence ismine. facebook ibaresi geçmesi hem kullanıcılar tarafından hoş karşılanmaz(şahsen yerli facebook yazısından sonra ben o siteye bi daha girmem. facebook varken gerek duymam napayım..) hemde arkadaşın dediği gibi dava açılır hakkınızda tazminat ödemeniz gerekebilir bu konuda dikkatli olmalısınız

    Arkadaşlar yerlifacebook tarifi duvarın davranışını yazılımcıların anlaması için. Yoksa yerli sosyal ağ projesi olarak atfediyoruz. Biz facebook olma iddasın da değiliz. Bu proje, amacı olan bi proje.

    Konuda belirttiğim gibi bot yazıldı çalıştırdığımda tüm gönderiler içerisinden rasgele gönderi çekip duvarda yayınlıyor. Karışık gönderi oluşuyor. Ancak sorun şu ki sorgu sürekli çok eski gönderileri duvara taşıyor. Bunun için yardım rica ediyorum. Son gönderilerden 20 şer adet olanların için den rasgele getirmesini istiyorum.

    Bi fikir verirseniz çok sevinirim.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • hopboomyerlifacebook H kullanıcısına yanıt
    Bukadar büyük bir fikriyat ortaya atılmış madem şu işi bilen birisine birilerine adam akıllı yaptırsanız iyi olacak


    yapmanız gereken şey şu

    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() limit $forum ");


    update yaparken random olarak alıyor verileri ancak bir şart koşmadan çekiyor. bu yüzden de id değeri ilk olanları çekiyor


    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $forum ");

    DESC son dan başlamak anlamına geliyor. ayrıca limit olayını da belirtmemisiniz limit belirte bilirsiniz

    $limit = "20";


    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $limit ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $limit ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $limit ");




    Kolay Gelsin




  • quote:

    Orijinalden alıntı: aksoydesign

    Bukadar büyük bir fikriyat ortaya atılmış madem şu işi bilen birisine birilerine adam akıllı yaptırsanız iyi olacak


    yapmanız gereken şey şu

    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() limit $forum ");


    update yaparken random olarak alıyor verileri ancak bir şart koşmadan çekiyor. bu yüzden de id değeri ilk olanları çekiyor


    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $forum ");

    DESC son dan başlamak anlamına geliyor. ayrıca limit olayını da belirtmemisiniz limit belirte bilirsiniz

    $limit = "20";


    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $limit ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $limit ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $limit ");




    Kolay Gelsin




    Çok teşekkürler yardımlarınız için




  • quote:

    Orijinalden alıntı: aksoydesign

    Bukadar büyük bir fikriyat ortaya atılmış madem şu işi bilen birisine birilerine adam akıllı yaptırsanız iyi olacak


    yapmanız gereken şey şu

    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() limit $forum ");


    update yaparken random olarak alıyor verileri ancak bir şart koşmadan çekiyor. bu yüzden de id değeri ilk olanları çekiyor


    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $forum ");

    DESC son dan başlamak anlamına geliyor. ayrıca limit olayını da belirtmemisiniz limit belirte bilirsiniz

    $limit = "20";


    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $limit ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $limit ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $limit ");




    Kolay Gelsin




    Sizin verdiğiniz komutları denedim. Buradaki $limit = "20"; tanımlaması şu tetiklemeyi yaptı: user paylaşımından 20 adet, group paylaşımından 20 adet, forum paylaşımından 20 adet. Ben bunu istemedim aslında.

    $user, $gorup, $forum değişkenlerine ben dışarıdan yazılı ufak bir program ile kaç adet olacağını ataya biliyorum. Örneğin user 5 adet group 10 adet ve forum 2 adet olsun diyebiliyorum.

    Sizin düzenlemenizi yaptığımda son eklenenden itibaren yapmaya başladı. desc komutu bunu yaptı. ancak $limit ataması istediğimi yapmadı.

    Benim istediğim random komutu için sadece son 50 kullanıcı gönderimi, son 50 group gönderimi, son 50 forum gönderimi içinde random yani rasgele getirmesi.


    Sistemde kullanıcı gönderimi, sayfa gönderimi, forum gönderimi, itiraf, fıkra, oyun, müzik vb 300 binden fazla gönderi mevcut. Ben hepsi içinde değil yukarıda belirtiğim gibi son 50 gönderiler içinde rasgele çekilmesini istiyorum.

    malesef $limit ataması gönderi adedini beliyor. Gönderi adedine ben dışarıdan hakimim ve değiştirebiliyorum.

    Yardım ederseniz çok sevinirim şimdiden teşekkürler.




  • hopboomyerlifacebook H kullanıcısına yanıt
    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $forum ");

    limiti zaten belirleyebiliyorsan $limit koymama gerek yok. istediğin şey tam olaraknedir anlamış değilim.

    limiti 50 yap son 50 kaydı rastgele listele. bu yukarıdaki kod bu işlevi görüyor zaten.










    < Bu mesaj bu kişi tarafından değiştirildi aksoydesign -- 20 Mayıs 2014; 3:39:16 >
  • quote:

    Orijinalden alıntı: aksoydesign

    mysql_query("update se_actions set action_date='$time' where action_object_owner='user' order by rand() DESC limit $user ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='group' order by rand() DESC limit $group ");
    mysql_query("update se_actions set action_date='$time' where action_object_owner='forum' order by rand() DESC limit $forum ");

    limiti zaten belirleyebiliyorsan $limit koymama gerek yok. istediğin şey tam olaraknedir anlamış değilim.

    limiti 50 yap son 50 kaydı rastgele listele. bu yukarıdaki kod bu işlevi görüyor zaten.









    evet limiti dışarıdan ayrı program yardımı ile belirleye biliyorum. Benim istediğim şöyle. Diyelim user tablosunda şu ana kadar 50 bin gönderi oluştu. son 50 gönderi içerisinden rasgele 5 yazıyı yazdırmak istiyorum. 5 yazıyı dışarıdan program ile seçebiliyorum. Rasgele seçimini user gönderileri içerisinden ve son 50 gönderiden yapıp 5 gönderiyi getirip duvara yazmalı.

    Aynı durum forum ve sayfa adını verdiğim group içinden yapmalı.

    dışarıdan limiti beliyebildiğim için buna müdahale etmemeli. Ben canımın istediği gibi bu programla bazen 2 gönderi user forumdan 4 group tan da 6 gönderi gönder şeklinde limitleyebiliyoru. ama tüm gönderiler içinden rasgele getiriyor. Ben son 50 gönderileri içerisinden çekmek istiyorum.




  • lütfen yardım
  • Tüm durumları denedim $limit tamamında arama yapıyor.
  • hopboomyerlifacebook H kullanıcısına yanıt
    Php konusunda bilgim yok, ama şöyle bi öneri sunabilirim. Bu gönderilerin hepsini bir satır olarak tuttuğunu varsayarsak bu satırların primary key'inde identity tanımlıdır. Orda ID'si en yüksek olan 50 taneyi filtrelersin daha sonra da Rand() fonksiyonu ile bunlardan 6 tanesini seçtirebilirsin.http://www.tutorialspoint.com/sql/sql-rand-function.htm mysql'de böyle bir fonksiyon var mı bilmiyorum ama bu random ihtiyacı her platformda olan bir ihtiyaç olduğundan bir çözümü de vardır.
  • quote:

    Orijinalden alıntı: BiLims

    Php konusunda bilgim yok, ama şöyle bi öneri sunabilirim. Bu gönderilerin hepsini bir satır olarak tuttuğunu varsayarsak bu satırların primary key'inde identity tanımlıdır. Orda ID'si en yüksek olan 50 taneyi filtrelersin daha sonra da Rand() fonksiyonu ile bunlardan 6 tanesini seçtirebilirsin.http://www.tutorialspoint.com/sql/sql-rand-function.htm mysql'de böyle bir fonksiyon var mı bilmiyorum ama bu random ihtiyacı her platformda olan bir ihtiyaç olduğundan bir çözümü de vardır.

    Çok teşekkürler deniyorum umarım başarırım.




  • goole amcaya sor obilen birini tanıyor olabilir ;) " Sorgu sıralamasını ters çevirmek asc and desc " yaz google'ye "asc" baçtan sona küçükden büyüge. "desc" sondan başa büyükten küçüge sıralar. sıralamayı kendi içinde tersçevirmen bunu bikaç kere yapman gerekebilir ekrana bastırmadan önce
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.