Home » PHP » PHP AJAX : Contoh AJAX dan PHP

PHP AJAX : Contoh AJAX dan PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

AJAX digunakan untuk membuat aplikasi yang lebih interaktif.

Contoh AJAX PHP

Contoh berikut akan menunjukkan bagaimana halaman web dapat berkomunikasi dengan server web sementara pengguna mengetik karakter di bidang input:

Contoh :

Penjelasan Contoh

Dalam contoh di atas, saat pengguna mengetik karakter di kolom input, fungsi yang disebut “showHint ()” dijalankan.

Fungsi ini dipicu oleh acara onkeyup.

Ini kode HTML-nya:

Contoh :

<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 action="">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname" onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>

Penjelasan kode :

Pertama, periksa apakah kolom input kosong (str.length == 0). Jika ya, hapus konten placeholder txtHint dan keluar dari fungsinya.

Namun, jika kolom input tidak kosong, lakukan hal berikut:

  • Buat objek XMLHttpRequest
  • Buat fungsi untuk dijalankan saat respons server siap
  • Kirim permintaan tersebut ke file PHP (gethint.php) di server
  • Perhatikan bahwa parameter q ditambahkan ke url (gethint.php? Q = “+ str)
  • Dan variabel str menyimpan isi dari field input

File PHP – “gethint.php”

File PHP memeriksa larik nama, dan mengembalikan nama yang sesuai ke browser:

<?php
// Larik dengan nama
$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";

// dapatkan parameter q dari URL
$q = $_REQUEST["q"];

$hint = "";

// cari semua petunjuk dari larik jika  $q berbeda dari ""
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";
      }
    }
  }
}

// Keluarkan "no suggestion" jika tidak ada petunjuk yang ditemukan atau keluarkan nilai yang benar
echo $hint === "" ? "no suggestion" : $hint;
?>

You may also like