पीएचपी - AJAX और PHP
AJAX का उपयोग अधिक इंटरैक्टिव एप्लिकेशन बनाने के लिए किया जाता है।
AJAX PHP उदाहरण
निम्नलिखित उदाहरण प्रदर्शित करेगा कि कैसे एक वेब पेज एक वेब सर्वर के साथ संचार कर सकता है जबकि एक उपयोगकर्ता इनपुट फ़ील्ड में वर्ण टाइप करता है:
उदाहरण
Start typing a name in the input field below:
Suggestions:
उदाहरण समझाया गया
उपरोक्त उदाहरण में, जब कोई उपयोगकर्ता इनपुट फ़ील्ड में एक वर्ण टाइप करता है, तो "शोहिंट ()" नामक एक फ़ंक्शन निष्पादित होता है।
फ़ंक्शन ऑनकीअप ईवेंट द्वारा ट्रिगर किया गया है।
यहाँ एचटीएमएल कोड है:
उदाहरण
<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>
कोड स्पष्टीकरण:
सबसे पहले, जांचें कि क्या इनपुट फ़ील्ड खाली है (str.length == 0)। यदि ऐसा है, तो txtHint प्लेसहोल्डर की सामग्री को साफ़ करें और फ़ंक्शन से बाहर निकलें।
हालाँकि, यदि इनपुट फ़ील्ड खाली नहीं है, तो निम्न कार्य करें:
- XMLHttpRequest ऑब्जेक्ट बनाएं
- सर्वर प्रतिक्रिया तैयार होने पर निष्पादित होने के लिए फ़ंक्शन बनाएं
- सर्वर पर एक PHP फ़ाइल (getint.php) पर अनुरोध भेजें
- ध्यान दें कि q पैरामीटर को url में जोड़ा जाता है (getint.php?q="+str)
- और str वेरिएबल इनपुट फ़ील्ड की सामग्री रखता है
PHP फ़ाइल - "getint.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;
?>