एक आगंतुक और एक वेबसाइट (या बल्कि, एक वेब सर्वर के साथ एक ब्राउज़र) के बीच संवादात्मक संचार को व्यवस्थित करने के लिए, प्रोग्रामर को उनके बीच डेटा के आदान-प्रदान के लिए परिदृश्य प्रदान करने की आवश्यकता होती है। आइए क्लाइंट जावास्क्रिप्ट स्क्रिप्ट से सर्वर PHP स्क्रिप्ट और इसके विपरीत चर के हस्तांतरण को व्यवस्थित करने के लिए कई सरल विकल्पों पर विचार करें।
यह आवश्यक है
PHP, जावास्क्रिप्ट और HTML भाषाओं का बुनियादी ज्ञान
अनुदेश
चरण 1
पृष्ठ निर्माण के चरण में, एक चर को उसके मूल्य के साथ एक PHP स्क्रिप्ट से एक जावास्क्रिप्ट स्क्रिप्ट में स्थानांतरित करना मुश्किल नहीं है। PHP स्क्रिप्ट स्वयं अनुरोधित पृष्ठ का HTML कोड उत्पन्न करती है, जिसमें इसमें शामिल स्क्रिप्ट भी शामिल है। इसका मतलब है कि वह जावास्क्रिप्ट कोड में किसी भी चर को लिख सकता है जिसे उनके मूल्यों के साथ पारित किया जाना चाहिए। उदाहरण के लिए, यह PHP स्क्रिप्ट क्लाइंट स्क्रिप्ट को "सर्वरटाइम" नामक एक वैरिएबल पास करेगी जिसमें वर्तमान सर्वर समय प्रारूप में होगा HOUR: MINUTE:
<? php
$ JSvarName = 'सर्वरटाइम';
$ JSvarValue = दिनांक ('एच: आई');
$ JScode = $ JSvarName। '= "'। $ JSvarValue। '";';
प्रिंट ''। $ JScode.'अलर्ट ("और अब सर्वर पर" + '। $ JSvarName।'); '
?>
चरण दो
वेरिएबल्स के नाम और मूल्यों को विपरीत दिशा में पास करने का सबसे सरल तरीका (क्लाइंट के ब्राउज़र में JS स्क्रिप्ट से वेब सर्वर पर PHP स्क्रिप्ट तक) पेज के HTML कोड में इस तरह दिख सकता है:
वर अब = नई तिथि ();
var varName = 'क्लाइंटटाइम';
var varValue = now.getHours () + ":" + now.getMinutes ();
window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;
यह स्क्रिप्ट स्क्रिप्ट test2.php को "क्लाइंटटाइम" चर का नाम और उसी प्रारूप में वर्तमान कंप्यूटर समय वाले इसके मान को भेजेगी HOUR: MINUTE। डेटा स्थानांतरित करने की इस विधि को "सिंक्रोनस" कहा जाता है - इसके परिणामस्वरूप तत्काल पृष्ठ पुनः लोड होगा। अधिक सटीक रूप से, वर्तमान पृष्ठ के बजाय, test2.php स्क्रिप्ट का परिणाम ब्राउज़र में लोड किया जाएगा। इस PHP स्क्रिप्ट के लिए कोड इस तरह दिख सकता है:
<? php
अगर ($ _ GET) गूंज 'प्राप्त चर'.key ($ _ GET)। '='। $ _ GET [कुंजी ($ _ GET)];
?>
आप सर्वर से ब्राउज़र में चर पास करने के लिए कोड के सभी तीन भागों को जोड़ सकते हैं और इस तरह एक PHP फ़ाइल में वापस कर सकते हैं:
<? php
अगर ($ _ GET) गूंज 'प्राप्त चर'.key ($ _ GET)। '='। $ _ GET [कुंजी ($ _ GET)];
$ JSvarName = 'सर्वरटाइम';
$ JSvarValue = दिनांक ('एच: आई');
$ JScode = $ JSvarName। '= "'। $ JSvarValue। '";';
प्रिंट ''। $ JScode.'अलर्ट ("और अब सर्वर पर" + '। $ JSvarName।'); '
?>
फ़ंक्शन भेजेंडेटा () {
वर अब = नई तिथि ();
var varName = 'क्लाइंटटाइम';
var varValue = now.getHours () + ":" + now.getMinutes ();
window.location.href = "https://sa/test2.php?" + varName + "=" + varValue;
विवरण झूठा है;
}
सर्वर को डेटा भेजें इस संयुक्त (PHP + जावास्क्रिप्ट) स्क्रिप्ट में, PHP कोड वर्तमान सर्वर समय वाले मान के साथ "सर्वरटाइम" नामक एक चर को "पास" करके जावास्क्रिप्ट कोड उत्पन्न करेगा। जब पृष्ठ ब्राउज़र में लोड होता है, तो जावास्क्रिप्ट स्क्रिप्ट इस समय के साथ एक संदेश प्रदर्शित करेगी। फिर उपयोगकर्ता "सर्वर को डेटा भेजें" लिंक पर क्लिक करता है, SendData () फ़ंक्शन लॉन्च करेगा, जो सर्वर को एक GET अनुरोध भेजेगा, चर नाम ("क्लाइंटटाइम") और उसके मान (क्लाइंट समय) को php पर भेज देगा। लिपि। एक PHP स्क्रिप्ट, $ _GET सुपरग्लोबल सरणी से एक चर के नाम और मूल्य को पढ़कर, इसे प्रिंट करेगी और पूरी वर्णित स्क्रिप्ट को फिर से शुरू करेगी।
चरण 3
ऊपर वर्णित सब कुछ "सिंक्रोनस" डेटा ट्रांसफर के परिदृश्य को लागू करता है। क्लाइंट और सर्वर स्क्रिप्ट के बीच डेटा के आदान-प्रदान की "एसिंक्रोनस" पद्धति के कार्यान्वयन का अपना नाम AJAX (एसिंक्रोनस जावास्क्रिप्ट और एक्सएमएल) है। यह विषय एक अलग लेख के योग्य है।