AJAX PHP Örneği
AJAX, daha etkileşimli uygulamalar oluşturmak için kullanılır.
AJAX PHP Örneği
Aşağıdaki örnek, bir kullanıcı bir giriş alanına karakter yazarken bir web sayfasının bir web sunucusuyla nasıl iletişim kurabileceğini gösterir:
Örnek
Start typing a name in the input field below:
Suggestions:
First name:
Örnek Açıklama
Yukarıdaki örnekte, bir kullanıcı giriş alanına bir karakter yazdığında, çağrılan bir fonksiyon showHint()
yürütülür.
İşlev, olay tarafından tetiklenir onkeyup
.
İşte kod:
Örnek
<p>Start typing a name in the input field below:</p>
<p>Suggestions: <span id="txtHint"></span></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)">
</form>
<script>
function showHint(str) {
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
const xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function() {
document.getElementById("txtHint").innerHTML = this.responseText;
}
xmlhttp.open("GET", "gethint.php?q=" + str);
xmlhttp.send();
}
}
</script>
Kod açıklaması:
İlk olarak, giriş alanının boş olup olmadığını kontrol edin (str.length == 0). Öyleyse, txtHint yer tutucusunun içeriğini temizleyin ve işlevden çıkın.
Ancak giriş alanı boş değilse aşağıdakileri yapın:
- Bir XMLHttpRequest nesnesi oluşturun
- Sunucu yanıtı hazır olduğunda yürütülecek işlevi oluşturun
- İsteği sunucudaki bir PHP dosyasına (gethint.php) gönderin
- q parametresinin gethint.php?q="+str eklendiğine dikkat edin.
- str değişkeni, giriş alanının içeriğini tutar
PHP Dosyası - "gethint.php"
PHP dosyası bir dizi adı kontrol eder ve karşılık gelen adları tarayıcıya döndürür:
<?php
// Array with names
$a[] = "Anna";
$a[] = "Brittany";
$a[] = "Cinderella";
$a[] = "Diana";
$a[] = "Eva";
$a[] = "Fiona";
$a[] = "Gunda";
$a[] = "Hege";
$a[] = "Inga";
$a[] = "Johanna";
$a[] = "Kitty";
$a[] = "Linda";
$a[] = "Nina";
$a[] = "Ophelia";
$a[] = "Petunia";
$a[] = "Amanda";
$a[] = "Raquel";
$a[] = "Cindy";
$a[] = "Doris";
$a[] = "Eve";
$a[] = "Evita";
$a[] = "Sunniva";
$a[] = "Tove";
$a[] = "Unni";
$a[] = "Violet";
$a[] = "Liza";
$a[] = "Elizabeth";
$a[] = "Ellen";
$a[] = "Wenche";
$a[] = "Vicky";
// get the q parameter from URL
$q = $_REQUEST["q"];
$hint = "";
// lookup all hints from array if $q is different from ""
if ($q !== "") {
$q = strtolower($q);
$len=strlen($q);
foreach($a as $name) {
if (stristr($q, substr($name, 0, $len))) {
if ($hint === "") {
$hint = $name;
} else {
$hint .= ", $name";
}
}
}
}
// Output "no suggestion" if no hint was found or output correct values
echo $hint === "" ? "no suggestion" : $hint;
?>