• 29-02-2016, 11:12:29
    #1
    Üyeliği durduruldu
    Arkadaşlar php de bir bot yaptım döndürmek istiyorum fakat sonsuz döngüye giriyor olay şöyle

    formum şu şekilde ;

     <div class="form-group">
                                               
                                                    <label class="checkbox-inline">
                                                        <input type="checkbox" id="inlineCheckbox1" name="onay"  value="1" checked="checked">
                                                        <input type = "hidden" name = "link" value = "<?php echo $part3; ?>" />
                                                        <a href=cekekle.php?link=<?php echo $part3; ?>> İndexle </a>
                                                    </label>
                                              
                                            </div>
    buradaki seçili olanı gönderirsen aşşağıdaki gibi işlem yap diyorum bi mantık kurdum ama php mantığımı beğenmemiş olacak ki sonsuz döngüye giriyor yardım lütfen.

      <?php
                                   
                                    $onay =$_POST['onay'];     
                                    while(1 == $onay){
                                    $cek =$_POST['link'];
                                    $link = "$cek";
                                    $parcala = '@<title>(.*?)</title>@si';
                                    $parcala2= '@<meta name="description" content="(.*?)">@si';
                                    $parcala3= '@ <meta name="keywords" content="(.*?)">@si';
                                    $botara = file_get_contents($link);
                                    preg_match_all($parcala,$botara,$baslik);
                                    preg_match_all($parcala2,$botara,$aciklama);
                                    preg_match_all($parcala3,$botara,$keywords);
                                    $baslikcek = $baslik[1][0];
                                    $aciklamacek =$aciklama[1][0];
                                    $keywordscek =$keywords[1][0];
                                    echo "$baslikcek <br>";
                                    echo "$aciklamacek <br>";
                                    echo "$keywordscek <br>";
                                    
                                
                                    
                                    
                                }
                                    ?>
  • 29-02-2016, 12:42:25
    #2
    for ($i=0; $i< count($_POST['onay']); $i++ ):
      if($_POST['onay']=="1"):
        // işlemleriniz
      endif;
     
    endfor;
  • 29-02-2016, 13:49:23
    #3
    Üyeliği durduruldu
    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    for ($i=0; $i< count($_POST['onay']); $i++ ):
      if($_POST['onay']=="1"):
        // işlemleriniz
      endif;
     
    endfor;
    yok hocam yine tek bir tane işlem yaptı

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:49:23 -->-> Daha önceki mesaj 13:24:22 --

    arkadaşlar lütfen yardım edin ya
  • 29-02-2016, 14:40:19
    #4
    <?php
    if ( ! empty($_POST['onay']) ) {
    	for ($i=0; $i<count($_POST['onay']); $i++) {
    		$botara   = file_get_contents($_POST['link'][$i]); 
    		preg_match_all('@<title>(.*?)</title>@si',$botara,$baslik); 
    		preg_match_all('@<meta name="description" content="(.*?)"@si',$botara,$aciklama); 
    		preg_match_all('@<meta name="keywords" content="(.*?)"@si',$botara,$keywords); 
    		$baslikcek   = $baslik[1][0]; 
    		$aciklamacek = $aciklama[1][0]; 
    		$keywordscek = $keywords[1][0]; 
    		echo "$baslikcek <br />";
    		echo "$aciklamacek <br />";
    		echo "$keywordscek <br />";
    	}
    }
    ?>
    Botunuzda ufak düzeltmeler yaptım
    Formunuzdaki link name değerini link[] olarak güncelleyiniz.
    Test ettim çalışıyor, tabi senin kod yapın nasıl bilemem.
    Varsa sorun kendi kodlarına göre uyarlarsan düzelecektir.
  • 29-02-2016, 15:24:31
    #5
    Üyeliği durduruldu
    taSManiaN adlı üyeden alıntı: mesajı görüntüle
    <?php
    if ( ! empty($_POST['onay']) ) {
    	for ($i=0; $i<count($_POST['onay']); $i++) {
    		$botara   = file_get_contents($_POST['link'][$i]); 
    		preg_match_all('@<title>(.*?)</title>@si',$botara,$baslik); 
    		preg_match_all('@<meta name="description" content="(.*?)"@si',$botara,$aciklama); 
    		preg_match_all('@<meta name="keywords" content="(.*?)"@si',$botara,$keywords); 
    		$baslikcek   = $baslik[1][0]; 
    		$aciklamacek = $aciklama[1][0]; 
    		$keywordscek = $keywords[1][0]; 
    		echo "$baslikcek <br />";
    		echo "$aciklamacek <br />";
    		echo "$keywordscek <br />";
    	}
    }
    ?>
    Botunuzda ufak düzeltmeler yaptım
    Formunuzdaki link name değerini link[] olarak güncelleyiniz.
    Test ettim çalışıyor, tabi senin kod yapın nasıl bilemem.
    Varsa sorun kendi kodlarına göre uyarlarsan düzelecektir.
    çok teşekkürler çalışıyor. fakat ben hepsini aynı sayfada yaptım ekstra sayfa açmiyim dedim.

    kod şu şekilde

      <?php
                                                $linkcek = $_POST["analink"];
                                                $html=file_get_contents($linkcek);
                                                $linknumber=substr_count($html,"href='");
                                                while($linknumber){
                                                    
                                                    $part=explode("href='",$html);
                                                    if(!isset($part[1])) break;
                                                    $part2=explode("'",$part[1]);
                                                    $part3="$part2[0]";
                                                    
                                                
                                                    $link = "$part3"; 
                                                    $parcala = '@<title>(.*?)</title>@si'; 
                                                    $parcala2= '@<meta name="description" content="(.*?)">@si'; 
                                                    $parcala3= '@ <meta name="keywords" content="(.*?)">@si'; 
                                                    $botara = file_get_contents($link); 
                                                    preg_match_all($parcala,$botara,$baslik); 
                                                    preg_match_all($parcala2,$botara,$aciklama); 
                                                    preg_match_all($parcala3,$botara,$keywords); 
                                                    $baslikcek = $baslik[1][0]; 
                                                    $aciklamacek =$aciklama[1][0]; 
                                                    $keywordscek =$keywords[1][0]; 
                                                    $urlsorgula = mysql_query("SELECT url FROM sayfa WHERE url='$part3'");
                                                    $urlcek = mysql_fetch_array($urlsorgula);
                                                    if($part3 != $urlcek['url']){
                                                 ?>
                                                <tr class="odd gradeX">
                                                  
                                                    <td> <?php echo mb_substr($part3,0,45);  ?> </td>
                                                    <td><?php echo mb_substr($baslikcek,0,25); ?></td>
                                                    <td><?php echo mb_substr($aciklamacek,0,25); ?></td>
                                                    <td><?php echo mb_substr($keywordscek,0,25); ?></td>
                                                    <td>
                                                    <div class="form-group">
                                               
                                                    <label class="checkbox-inline">
                                                        <input type="checkbox" id="inlineCheckbox1" name="onay" value="1" checked="checked">
                                                        <input type = "hidden" name = "link" value = "<?php echo $part3; ?>" />
                                                        İndexle
                                                    </label>
                                              
                                            </div>
                                                    </td>
                                                   
                                                </tr>
                                                <?php
                                                }
                                                    
                                                 $html=str_replace("href='".$part2[0]."'","",$html);
                                                 $linknumber--;
                                                
                                                }
                                                ?>
    ayrıca siteleri otomatik tarayacak bi bot yapma imkanım yokmu ya