با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند. در جلسه گذشته به بررسی کاربرد Ajax در php 7 پرداختیم و در این جلسه که ادامه ای بر جلسه گذشته است؛ به بررسی رابطه Ajax و php می پردازیم تا به صورتی عمیق ماهیت رابطه این دور درک نماییم.
از AJAX برای ایجاد برنامه های تعاملی بیشتر استفاده می شود.
مثال زیر نشان می دهد که چگونه یک صفحه وب می تواند با یک سرور وب ارتباط برقرار کند.
در تصویر زیر کادری وجود دارد که با تایپ یک کاراکتر، می توان تعیین کرد که یک صفحه وب چگونه با سرور مرتبط شود:
در مثال بالا، هنگامی که یک کاربر یک کاراکتر را در فیلد ورودی می نویسد، یک تابع به نام “()showHint” اجرا می شود.
این عمل توسط رویداد onkeyup انجام می شود.
در زیر می توانید این کد HTML را مشاهده نمایید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <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> |
توضیح کد:
ابتدا بررسی کنید که آیا فیلد ورودی خالی است (str.length == 0)یا خیر.
اگر خالی بود؛ محتوای حفره یا txtHint را پاک کنید و از تابع خارج شوید.
اما، اگر فیلد ورودی خالی نیست، موارد زیر را انجام دهید:
فایل php، یکی از آرایه های نام ها را بررسی کرده و نام مربوطه را به مرورگر باز می گرداند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?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; ?> |
در این جلسه به بررسی رابطه Ajax و php پرداختیم و ماهیت رابطه این دو را قدری عمیق شناختیم.
در جلسه بعدی قرار است که به بررسی رابطه Ajax و MySQL می پردازیم.
با پی وی لرن همراه باشید.