Bu çalışmamızda PHP Curl ve JQuery kütüphanelerinden faydalanarak başka bir domaine form submit edip ve sonuç alacağız. İlk olarak ajax proxy sayfamızı oluşturmakla işe başlayalım.
[?php
header("Cache-Control: no-cache");
header("Content-type:text/html; charset=utf-8");
function geturl($url,$request){
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$results = curl_exec($ch);
curl_close($ch);
return $results;
}
$theurl = $_POST["url"];
$theurl = urldecode($theurl);
$theurl = str_replace( "& #038;", "&", $theurl );
$req=$_POST['vars'];//POST edilecek değişken(ler)
$v = geturl( $theurl,$req);
$v = mb_convert_encoding($v, "UTF-8", "ISO-8859-9");//Sonuç alınacak sayfanın kodlaması sizinkinden farklı ise
echo $v;
?]
Yukarıdaki kodun bulunduğu sayfayı ajax_proxy.php olarak kaydediyoruz. Şimdi POST işlemini yapıp sonuç yazdıracağımız sayfaya geçelim
[HTML]
[HEAD]
[script type="text/javascript" src="jquery-1.3.1.min.js"][/script]//jquery kütüphanesini sayfamıza dahil ediyoruz
[script type='text/javascript']
function post_to_ajaxproxy(){
document.getElementById("loader_div").innerHTML='[img src="loading.gif" width="24" height="24"]';//Beklerken gösterilecek olan yükleme animasyonu
var var1=document.getElementById("var1_box").value;
var var2=document.getElementById("var2_box").value;
$.ajax({
type: 'POST',
url: 'ajax_proxy.php',
data: "&url="+var1+"&vars="+var2,
success: function(sonuc) {
document.getElementById("loader_div").innerHTML='';
document.getElementById('result_div').innerHTML = sonuc;
}
});
}
[/script]
[/HEAD]
[BODY]
[input name="var1_box" id="var1_box" type="text" value="http://www.domain_adi.com/sorgulanacak_sayfa.asp"/]
[input name="var2_box" id="var2_box" type="text" value="post_edilecek_degisken"/]
[input type="button" value="Gönder" onclick="post_to_ajaxproxy()"/]
[div id="loader_div"][/div]//yükleme animasyonunun gösterileceği
[div id="result_div"][/div]//sonuçların gösterileceği
[/BODY]
[/HTML]



Son Yorumlar