PHP फॉर्म हैंडलिंग

PHP सुपरग्लोबल वेरियबल $_GET और $_POST फॉर्म डेटा (form-data) को संग्रह करने के लिए उपयोग किए जाते हैं。

PHP - एक साधारण HTML फॉर्म

यह उदाहरण एक साधारण HTML फॉर्म को दिखाता है जो दो इनपुट फील्ड और एक सबमिट बटन को शामिल करता है:

उदाहरण

<html>
<body>
<form action="welcome.php" method="post">
नाम: <input type="text" name="name"><br>
ई-मेल: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

उदाहरण चलाएं

जब उपयोगकर्ता इस फॉर्म को भरता है और सबमिट बटन पर क्लिक करता है, तो फॉर्म डाटा "welcome.php" नामक PHP फ़ाइल को संसाधित करने के लिए भेजा जाता है। फॉर्म डाटा HTTP POST विधि से भेजा जाता है।

सबमिट किए गए डाटा को दिखाने के लिए, आपको सारी वेरियेबलों को साधारणता से (echo) आउटपुट करना चाहिए। "welcome.php" फ़ाइल ऐसी है:

<html>
<body>
स्वागत <?php echo $_POST["name"]; ?><br>
आपका ई-मेल पता है: <?php echo $_POST["email"]; ?>
</body>
</html>

आउटपुट:

स्वागत Bill
आपका ई-मेल पता है Bill.Gates@example.com

HTTP GET विधि का उपयोग करके भी उसी परिणाम को प्राप्त कर सकते हैं:

उदाहरण

<html>
<body>
<form action="welcome_get.php" method="get">
नाम: <input type="text" name="name"><br>
ई-मेल: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

उदाहरण चलाएं

"welcome_get.php" ऐसा है:

<html>
<body>
स्वागत <?php echo $_GET["name"]; ?><br>
आपका ईमेल पता है: <?php echo $_GET["email"]; ?>
</body>
</html>

ऊपरी कोड साधारण है। लेकिन, सबसे महत्वपूर्ण सामग्री खो दी गई है। आपको फॉर्म डाटा को प्रमाणीकरण करना चाहिए, ताकि स्क्रिप्ट में लोचना ना हो।

ध्यान:PHP फॉर्म का संचालन करते समय सुरक्षा पर ध्यान दें!

इस पृष्ठ में कोई फॉर्म प्रमाणीकरण कार्यक्रम नहीं है, यह केवल फॉर्म डाटा भेजने और प्राप्त करने के लिए हमें दिखाता है।

लेकिन बाद के अध्यायों में आपको बताया जाएगा कि कैसे PHP फॉर्म की सुरक्षा को बढ़ाया जाए! फॉर्म के लिए उचित सुरक्षा प्रमाणीकरण हैकर्स और स्पैम ईमेल के विरुद्ध लड़ने के लिए बहुत महत्वपूर्ण है।

GET विरुद्ध POST

GET और POST दोनों एक तालिका (जैसे array( key => value, key2 => value2, key3 => value3, ...) ) बनाते हैं। इस तालिका में चाबी/मूल्य पारी है, जिसमें चाबी फॉर्म कंट्रोलर का नाम है और मूल्य उपयोगकर्ता के आगमन डाटा है।

GET और POST $_GET और $_POST के रूप में देखे जाते हैं।ये सुपरग्लोबल वेरियेबल हैं, यानी उनके लिए अधिकार क्षेत्र का ध्यान नहीं रखना होता - कोई विशेष कोड नहीं चाहिए, आप उन्हें किसी भी फ़ंक्शन, क्लास या फ़ाइल से एकत्रित कर सकते हैं।

$_GET यह वेरियेबल अभियान वेक्टर है जो URL पारामीटर के माध्यम से वर्तमान स्क्रिप्ट में पाठित किया जाता है。

$_POST यह वेरियेबल अभियान वेक्टर है जो HTTP POST के माध्यम से वर्तमान स्क्रिप्ट में पाठित किया जाता है。

जब GET का उपयोग करें?

फॉर्म से GET विधि के माध्यम से भेजे गए सूचनाकिसी के लिए भी दिखाई देता है(सभी वेरियेबल नाम और मूल्य यूआरएल में दिखाई देते हैं)。GET भेजे गए सूचना की मात्रा पर भी प्रतिबंध है।प्रतिबंध लगभग 2000 अक्षरों में है।हालांकि, वेरियेबल यूआरएल में दिखाई देते हैं, इसलिए पृष्ठ को बुकमार्क में जोड़ना भी आसान है。

GET असंवेदनशील डाटा भेजने के लिए उपयोग किया जा सकता है。

टिप्पणी:कोई पासवर्ड या अन्य संवेदनशील सूचना GET के द्वारा भेजने के लिए कभी नहीं करना चाहिए!

जब POST का उपयोग करें?

फॉर्म से POST विधि के माध्यम से भेजे गए सूचनाअन्य लोगों के लिए अदृश्य(सभी नाम/मूल्य HTTP रिक्वेस्ट के मुख्य भाग में घुसा दिए जाते हैं),और भेजे गए सूचना की मात्रा पर भी प्रतिबंध हैअसीमित

इसके अलावा POST उच्च स्तरीय फ़ंक्शनों को समर्थित करता है, जैसे कि सर्वर पर फ़ाइल अपलोड करते समय multi-part बाइनरी इनपुट के लिए。

हालांकि, वेरियेबल यूआरएल में दिखाई नहीं देती है, इसलिए पृष्ठ को बुकमार्क में जोड़ना भी नहीं संभव है。

सूचना:डेवलपर्स POST को फॉर्म डाटा भेजने के लिए पसंद करते हैं。

अब हम देखें चाहिए कि PHP फॉर्म को कैसे सुरक्षित तरीके से संभाला जाता है!