٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش PHP AJAX

AJAX برای ایجاد برنامه های تعاملی بیشتر استفاده می شود. مثال PHP AJAX مثال زیر نشان می دهد که چگونه یک صفحه وب می تواند با وب سرور ارتباط برقرار کند در حالی که کاربر در یک قسمت ورودی کاراکتر…

محمد یوسفی

30 جولای 2021

AJAX برای ایجاد برنامه های تعاملی بیشتر استفاده می شود.


مثال PHP AJAX

مثال زیر نشان می دهد که چگونه یک صفحه وب می تواند با وب سرور ارتباط برقرار کند در حالی که کاربر در یک قسمت ورودی کاراکتر را تایپ می کند:

مثال

Start typing a name in the input field below:

Suggestions:

First name:


مثال توضیح داده شده

در مثال بالا ، هنگامی که کاربر یک کاراکتر را در قسمت ورودی تایپ می کند ، تابعی به نام showHint()اجرا می شود.

عملکرد توسط این onkeyupرویداد تحریک می شود.

این کد است:

مثال

<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>

توضیح کد:

ابتدا ، خالی بودن قسمت ورودی را بررسی کنید (طول str.le == 0). در صورت وجود ، محتوای متغیر نگهدارنده txtHint را پاک کرده و از عملکرد خارج شوید.

با این حال ، اگر قسمت ورودی خالی نیست ، موارد زیر را انجام دهید:

  • یک شی X XMLHttpRequest ایجاد کنید
  • عملکردی را ایجاد کنید که هنگام آماده شدن پاسخ سرور اجرا شود
  • درخواست را به یک فایل PHP (gethint.php) در سرور ارسال کنید
  • توجه داشته باشید که پارامتر q اضافه شده است gethint.php؟ q = “+ str
  • متغیر str محتوای قسمت ورودی را در خود نگه می دارد


پرونده PHP – “gethint.php”

فایل PHP آرایه ای از نام ها را بررسی می کند و نام (های) مربوطه را به مرورگر باز می گرداند:

<?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;
?>

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها