इस डेटा को संसाधित करने के लिए एक स्क्रिप्ट के साथ क्लाइंट ब्राउज़र से सर्वर फ़ाइल में डेटा स्थानांतरित करना अक्सर आवश्यक हो जाता है। आइए देखें कि स्क्रिप्ट में PHP मापदंडों के हस्तांतरण को कैसे व्यवस्थित किया जाए।
यह आवश्यक है
PHP और HTML भाषाओं का बुनियादी ज्ञान
अनुदेश
चरण 1
HTTP (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल) में वेब फॉर्म से डेटा ट्रांसपोर्ट करने के लिए दो तरीके दिए गए हैं - GET और POST। वे क्लाइंट एप्लिकेशन (ब्राउज़र) से सर्वर एप्लिकेशन (निष्पादन योग्य PHP स्क्रिप्ट) में प्रसारित होने के तरीके में भिन्न होते हैं। जीईटी विधि इसके लिए एड्रेस बार का उपयोग करती है। यानी इसे पास किए गए वेरिएबल्स के नाम और मान एक प्रश्न चिह्न (?) के माध्यम से सीधे स्क्रिप्ट एड्रेस (या URL - यूनिफ़ॉर्म रिसोर्स लोकेटर) में जोड़ दिए जाते हैं। उदाहरण के लिए, यूआरएल इस तरह दिख सकता है:
यहां, search.php स्क्रिप्ट को 30 के मान के साथ num नाम का एक वेरिएबल, 1 के मान के साथ एक वेरिएबल न्यूविंडो और ऑफ के मान के साथ एक वेरिएबल सेफ पास किया जाता है। सर्वर, ऐसा अनुरोध प्राप्त करने के बाद, "?" फ़ाइल पते को अलग करता है, और बाकी सब कुछ चर नामों और मूल्यों के जोड़े में विभाजित करता है। परिणामी जोड़े $ _GET सरणी में भरे जाते हैं, जिससे पते में निर्दिष्ट php स्क्रिप्ट उन्हें निकालने में सक्षम होगी। अपने सरलतम रूप में, GET विधि का उपयोग करके ब्राउज़र से सर्वर पर इस डेटा को भेजने के लिए फ़ॉर्म HTML कोड इस तरह दिख सकता है:
और इस डेटा को प्राप्त करने के लिए सबसे सरल PHP स्क्रिप्ट इस प्रकार है:
<? php
$ संख्या = $ _GET ['संख्या'];
$ न्यूविंडो = $ _GET ['न्यूविंडो'];
$ सुरक्षित = $ _GET ['सुरक्षित'];
?>
GET विधि का उपयोग करके चर पारित करने के सबसे महत्वपूर्ण नुकसान:
- सीमित मात्रा में डेटा, चूंकि URL की लंबाई 255 वर्णों से अधिक नहीं हो सकती है;
- सभी एचटीएमएल-कोड वर्णों को इस विधि द्वारा स्थानांतरित नहीं किया जा सकता है;
- प्रेषित डेटा उपयोगकर्ता को दिखाई देता है, जो सुरक्षा की दृष्टि से हमेशा स्वीकार्य नहीं होता है;
चरण दो
एक अन्य विधि - POST का उपयोग करके इन असुविधाओं और सीमाओं से बचा जा सकता है। यह डेटा - हेडर को स्थानांतरित करने के लिए नेटवर्क पैकेट के विशेष क्षेत्रों का उपयोग करता है। अन्य सभी मामलों में, इन विधियों के बीच अंतर न्यूनतम हैं - डेटा भेजने के उपरोक्त रूप में, केवल विधि का नाम बदल जाएगा:
और PHP स्क्रिप्ट में, केवल डेटा सरणी का नाम:
<? php
$ संख्या = $ _POST ['संख्या'];
$ न्यूविंडो = $ _POST ['न्यूविंडो'];
$ सुरक्षित = $ _POST ['सुरक्षित'];
?>