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
Aşağıdaki giriş alanına bir ad yazmaya başlayın:
Örnek Açıklama
Yukarıdaki örnekte, bir kullanıcı giriş alanına bir karakter yazdığında, "showHint()" adlı bir işlev yürütülür.
İşlev, onkeyup olayı tarafından tetiklenir.
İşte HTML kodu:
Örnek
<html>
<head>
<script>
function showHint(str) {
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
var xmlhttp = new
XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (this.readyState == 4 &&
this.status == 200) {
document.getElementById("txtHint").innerHTML =
this.responseText;
}
};
xmlhttp.open("GET", "gethint.php?q=" + str, true);
xmlhttp.send();
}
}
</script>
</head>
<body>
<p><b>Start typing a name in the
input field below:</b></p>
<form>
First name: <input type="text"
onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>
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;
?>