franch english german arabic turkish

PHP Örneği - AJAX ve XML PHP Örneği - AJAX ve XML

Tarih: 2018-10-03 13:30 Kategori: php5egitim | Okundu: 1358

AJAX bir XML dosyası ile interaktif iletişim için kullanılabilir.

PHP 5 Eğitimi ile İlgili Son GönderilerDaha Fazlası

AJAX XML Örneği


Aşağıdaki örnek, bir web sayfasının AJAX ile bir XML dosyasından nasıl bilgi alabileceğini gösterecektir:

Örnek

 

Örnek Açıklaması - HTML Sayfası

Bir kullanıcı yukarıdaki listeden bir CD seçerse, "showCD ()" adlı bir işlev çalıştırılır. İşlev "onchange" olayı tarafından tetiklenir:

<html>
<head>
<script>
function showCD(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else {  // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (this.readyState==4 && this.status==200) {
      document.getElementById("txtHint").innerHTML=this.responseText;
    }
  }
  xmlhttp.open("GET","getcd.php?q="+str,true);
  xmlhttp.send();
}
</script>
</head>
<body>

<form>
Select a CD:
<select name="cds" onchange="showCD(this.value)">
<option value="">Select a CD:</option>
<option value="Bob Dylan">Bob Dylan</option>
<option value="Bee Gees">Bee Gees</option>
<option value="Cat Stevens">Cat Stevens</option>
</select>
</form>
<div id="txtHint"><b>CD info will be listed here...</b></div>

</body>
</html>

ShowCD () işlevi aşağıdakileri yapar:

  • CD seçili olup olmadığını kontrol edin
  • Bir XMLHttpRequest nesnesi oluştur
  • Sunucu yanıtı hazır olduğunda yürütülecek işlevi oluşturun.
  • İsteği sunucudaki bir dosyaya gönderin
  • URL'ye bir parametre (q) eklendiğine dikkat edin (açılır listenin içeriği ile birlikte)

PHP Dosyası

Yukarıdaki JavaScript ile adlandırılan sunucudaki sayfa "getcd.php" adlı bir PHP dosyasıdır.

PHP betiği bir XML belgesi yükler, " cd_catalog.xml ", XML dosyasına karşı bir sorgu çalıştırır ve sonucu HTML olarak döndürür:

<?php
$q=$_GET["q"];

$xmlDoc = new DOMDocument();
$xmlDoc->load("cd_catalog.xml");

$x=$xmlDoc->getElementsByTagName('ARTIST');

for ($i=0; $i<=$x->length-1; $i++) {
  //Process only element nodes
  if ($x->item($i)->nodeType==1) {
    if ($x->item($i)->childNodes->item(0)->nodeValue == $q) {
      $y=($x->item($i)->parentNode);
    }
  }
}

$cd=($y->childNodes);

for ($i=0;$i<$cd->length;$i++) { 
  //Process only element nodes
  if ($cd->item($i)->nodeType==1) {
    echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
    echo($cd->item($i)->childNodes->item(0)->nodeValue);
    echo("<br>");
  }
}
?>

CD sorgusu JavaScript'den PHP sayfasına gönderildiğinde, aşağıdakiler gerçekleşir:

  1. PHP bir XML DOM nesnesi oluşturur
  2. JavaScript'ten gönderilen isimle eşleşen tüm <artist> öğelerini bulun
  3. Albüm bilgisini çıkar ("txtHint" yer tutucusuna gönder)



Yorumlar: (0)

Henüz yorum yapılmamıştır.

Benedict Cumberbatch'ın yeni dizisi Eric'in afişi paylaşıldı!
Benedict Cumberbatc...
Süper Mario'nun yeni animasyon filmi 2026'da vizyona girecek!
Süper Mario'nun yen...
3 bin 499 dolarlık Apple Vision Pro için iadeler başladı!
3 bin 499 dolarlık ...
'3 Cisim Problemi' dizisi için geri sayım başladı...
'3 Cisim Problemi' ...
OpenAl'ın yeni "metinden videoya" yapay zeka modeli 'Sora' büyük yankı uyandırdı
OpenAl'ın yeni "met...
Kira Bildirim Formu Nasıl Doldurulur?
Kira Bildirim Formu...
Yoğurt 500 gramdan büyük ambalajda satılamayacak!
Yoğurt 500 gramdan ...
Suudi Arabistan’da 70 yıllık aradan sonra içki satışı başlıyor!
Suudi Arabistan’da ...
Meclis 16 yaş altındaki çocukların sosyal medya kullanmasını yasakladı.
Meclis 16 yaş altın...
Astrofizikçi Dr. Umut Yıldız Türkiye'ye dönme kararı aldı!
Astrofizikçi Dr. Um...