php ile başka siteden veri çekimi.
.... sorunumu halletmiş bulunmaktayım en altta çalışan kod ve projem en son cevapta .....
slm arkadaşlar bu aralar uğraş olarak php ile başka sitelerden veri çekimi olayına el attım takıldığım nokta oldu sizin yardımlarınıza ihtiyacım oldu.
veri çekeceğim site : http://www.ogretmenx.com/tercih/ bu sitede 81 il var. illeri seçince ilçeleri geliyor ilçeleri tıklayıncada ilçede okulları tek bir dosyada gösteremedim. ayrı bir dosyada ilçe adını girdiğimde gelen verileri alıyorum sorunum ilçeyi ekrana yazdırdıktan sonra $_POST yöntemiyle veya başka bir yöntemle bot.php dosyama ilçe aktarılıp yazdırılmasını yapamadım..
NOT: tek tek ilçeleri girince bot.php dosyam sorunsuz çalışıyor ilçenin tüm okulların bilgileri yazdırıyor. amacım botlink.php de gelen ilçe adlarına tıklayınca bunu ilçe adını alıp bot.php de okulların bilgilerini ekrana yazdırması ??
iladi.php
<form id="form1" name="form1" method="post" action="botlink.php">
<table width="320" border="0" align="center">
<tr>
<td><span class="style17"><strong>ŞEHİRİ SEÇİNİZ </strong></span></td>
<td> </td>
<td>
<input type="radio" name="iladi" value="ADANA" id="iladi" /> ADANA<br />
<input type="radio" name="iladi" value="MERSİN" id="iladi" /> MERSİN<br />
<input type="radio" name="iladi" value="İSTANBUL" id="iladi" /> İSTANBUL<br />
<input type="radio" name="iladi" value="ANTALYA" id="iladi" /> ANTALYA<br />
</td>
</tr>
<td colspan="2"> </td>
<td><label>
<input type="submit" name="Submit" value="İLÇELERİ GÖSTER" />
</label></td>
</tr>
</table>
</form>
botlink.php dosyam
<?php
$iladi=$_POST["iladi"];
$siteadi = file_get_contents("http://www.ogretmenx.com/tercih/ilce.php?il=$iladi");
$siteadi1 = explode('<td valign="top"><ul >',$siteadi);
$bilgi = explode("</ul>", $siteadi1[1]);
echo $bilgi[0];
?>
bot.php dosyam
<?php
$siteadresi = file_get_contents("http://www.ogretmenx.com/tercih/okula-gore-hizmet-puani3.php?il=MERSİN&ilce=AKDENİZ");
echo '<table border="1" width="100%">
<tr>
<td>okul kodu</td>
<td>il</td>
<td>ilçe</td>
<td> okul adı</td>
<td> hizmet bölgesi</td>
<td>hizmet alanı</td>
<td><span class="style16">Yerleşim Yeri</span></td>
<td><span class="style16">Zorunlu Hizmet Yükümlüğü Süresi(Yıl)</span></td>
<td><span class="style16">Hizmet Puan </span></td>
';
$kod = explode('<td width="64"><div align="center"><span class="style16">',$siteadresi);
$kod = explode('<tr>',$kod[1]);
echo $kod[0];
echo '</table></tr>';
?>
Php
Bunu aynı bot dosyasında yapmak istiyorsan örnek olarak
bot.php?tur=il&il=mersin
şeklinde gönderip tur il ise ili aratıcaksın,
bot.php=tur=ilce&ilce=akdeniz
şeklinde geliyorsa ilçe olduğunu anlarsın ona göre
file_get_contents("http://www.ogretmenx.com/tercih/okula-gore-hizmet-puani3.php?il=MERSİN&ilce=AKDENİZ"); satırındaki il ve ilçe değerlerini doldurup gelen değeri kullanırsın. Burada ili seçip ona göre ilçeyi seçtirmek istiyorsan il değerini hidden olarak yada session üzerinden ilçe sorgulamaya aktarman gerekir.
Php
bunu bende düşündüm botlink.php de ekrana yazan komutta echo $bilgi[0]; ye link verdim bot.php ye ordan ekrana bastırmayı yapmadı.
Php
Arkadaşım sanırım sorunu yanlış anladım yada tam olarak anlayamadım. Daha anlaşılır bir açıklama yazarsan yardımcı olmaya çalışırım.
Php
tamam sorunumu yaptım nihayet....
yaptığım projem http://www.ogretmenx.com/tercih/ sitesinden il ilçe ve ilçelere ait okul bilgilerini çekmek örnek teşkil edecek php konuları
1: file_get_content kullanma
2: explode kullanma
3: $_POST metudu kullanma
4: $_GET metodu kullanma
5: çekilecek sitede var olan reklamlar artıklardan kurtulma
iladi.php dosyam : illeri göndermeyi sağlar
<form id="form1" name="form1" method="post" action="botlink.php">
<table width="320" border="0" align="center">
<tr>
<td><span class="style17"><strong>ŞEHİRİ SEÇİNİZ </strong></span></td>
<td> </td>
<td>
<input type="radio" name="iladi" value="ADANA" id="iladi" /> ADANA<br />
<input type="radio" name="iladi" value="MERSİN" id="iladi" /> MERSİN<br />
<input type="radio" name="iladi" value="İSTANBUL" id="iladi" /> İSTANBUL<br />
<input type="radio" name="iladi" value="ANTALYA" id="iladi" /> ANTALYA<br / >
.
.
. 81 il adı yazılıp artılabilir örnek olması dileğiyle 4 tane yazdım...
</td>
</tr>
<td colspan="2"> </td>
<td><label>
<input type="submit" name="Submit" value="İLÇELERİ GÖSTER" />
</label></td>
</tr>
</table>
</form>
botlink dosyam : gelen il adına göre ilçeleri seçer
<?php
$iladi=$_POST["iladi"];
$siteadi = file_get_contents("http://www.ogretmenx.com/tercih/ilce.php?il=$iladi");
$siteadi1 = explode(' <td valign="top"><ul >',$siteadi);
$bilgi = explode("</ul></td>", $siteadi1[1]);
echo $bilgi[0];
?>
okula-gore-hizmet-puani3.php dosyam ise seçilen il ve ilçe isimlerini $_GET metoduyla aktarılıp ilçedeki tüm okulların bilgileri alan sayfa.
<?PHP
$iladi=$_GET['il'];
$ilceadi=$_GET['ilce'];
$siteadresi = file_get_contents("http://www.ogretmenx.com/tercih/okula-gore-hizmet-puani3.php?il=$iladi&ilce=$ilceadi");
echo '<table border="1" width="100%">
<tr>
<td>okul kodu</td>
<td>il</td>
<td>ilçe</td>
<td> okul adı</td>
<td> hizmet bölgesi</td>
<td>hizmet alanı</td>
<td><span class="style16">Yerleşim Yeri</span></td>
<td><span class="style16">Zorunlu Hizmet Yükümlüğü Süresi(Yıl)</span></td>
<td><span class="style16">Hizmet Puan </span></td>
';
$kod = explode('<td width="64"><div align="center"><span class="style16">',$siteadresi);
$kod = explode('</table></td>',$kod[1]);
echo $kod[0];
echo '</table>';
?>
Php
file_get_contents yerine CURL kullanırsan daha fazla özelliği bulunuyor.