
कल्पना कीजिए कि आप हैं विकास एक वेब साइट तो एक नाम और एक ईमेल के साथ रजिस्टर करने के लिए उपयोगकर्ताओं. आपके द्वारा बनाए गए एक प्रपत्र जहां वे अपने डेटा में प्रवेश किया सरल. लेकिन, ¿क्या होता है जब उपयोगकर्ता के बटन पर क्लिक करें शिपिंग? अगर विशेष रूप से आप का उपयोग करें HTML, वाक़ई कुछ भी पास नहीं, केवल पृष्ठ है कि आप विशेषता में कॉन्फ़िगर किया गया है चार्ज किया जाता है क्रिया के रूप.
कुछ सबसे वेब साइटों की तरह है प्रपत्र के लिए सूचना के प्रस्तुत उपयोगकर्ताओं द्वारा, क्या पंजीकरण फार्म, लॉगिन के लिए प्रपत्र, संपर्क प्रपत्र, आदि. करने के लिए सक्षम होने के लिए बचाव इन प्रपत्र द्वारा भेजा गया ऐसा डेटा नहीं है का उपयोग करें के कुछ सर्वर की ओर की भाषा, इस मामले में PHP.
को कैसे प्राप्त करें, PHP में, एक प्रपत्र के माध्यम से भेजा गया ऐसा डेटा
इस भूमिका के लिए, PHP के साथ है दो पूर्व निर्धारित वैश्विक चर, ये हैं $_GET और $_ POST. जब किसी भी पृष्ठ के लिए एक प्रपत्र सबमिट किया गया है, इन दो चर संग्रहीत डेटा, कि शिपिंग के प्रकार के आधार पर प्रदर्शन करेंगे. यह एक उदाहरण के साथ देखना:
1 | <form action="login.php" method="GET"> |
मान लीजिए मैं इस प्रारंभ टैग के साथ एक रूप है. जैसा कि हम देख सकते हैं, आपका डेटा इस प्रपत्र जहाज जाएगा, एक बार सबमिट करें बटन पर क्लिक करें, पृष्ठ पर login.php ई, ऐसा ही, हम विशेषता में कॉन्फ़िगर किया गया है के रूप में विधि, यह पृष्ठ ऐसे डेटा चर डिफ़ॉल्ट के माध्यम से प्राप्त कर सकते हैं के बाद से $_GET.
अगर मैं इस्तेमाल किया था विधि =”पोस्ट”, हम बनाने के लिए होगा के चर का उपयोग करें $_ POST भेजे गए इन डेटा एकत्रित करने के लिए. लेकिन, ¿क्या अंतर है बीच का उपयोग विधि शिपिंग प्राप्त करें ओ पोस्ट?
GET विधि का उपयोग कर प्रपत्र भेजने
बेहतर कल्पना करने के लिए, हम कर देगा का उपयोग एक उदाहरण पूरे लेख में. हम है एक साधारण से फ़ॉर्म के पहुँच हमारी वेबसाइट में जो हम परिचय करने के लिए होगा की एक निजी क्षेत्र के लिए हमारे उपयोगकर्ता और पासवर्ड:
1 2 3 4 5 | <form action="login.php" method="GET"> Usuario: <input type="text" name="usuario" /> Contraseña: <input type="password" name="contrasena" /> <input type="submit" name="submit" value="Entrar" /> </form> |
हम देखते हैं कि प्रपत्र पृष्ठ करने के लिए जहाज जाएगा इस उदाहरण में login.php, जिसमें हम यह करना होगा डेटा संग्रह चर का उपयोग $_GET. इसके अलावा, इस प्रपत्र के साथ है तीन मानों शिपिंग के लिए. ये मान विशेषता में परिभाषित कर रहे हैं नाम प्रत्येक एक टैग का इनपुट, इस तरह, ये मान रहे हैं: उपयोगकर्ता, पासवर्ड और सबमिट करें.
द्वारा प्रपत्र सबमिट डेटा का संग्रह
एक बार उपयोगकर्ता प्रेस बटन के दर्ज करें, डेटा कर रहे हैं प्रतिनिधियों पृष्ठ पर login.php. चूंकि इस पृष्ठ से है जहाँ हम होना चाहिए उन्हें हेरफेर. हम इसे एक उदाहरण के साथ देखने के लिए जा रहे हैं:
1 2 3 4 5 6 7 | <?php $usuario = $_GET [ 'usuario' ]; $contrasena = $_GET [ 'contrasena' ]; // Realizamos las actuaciones oportunas con estas dos variables ?> |
वैश्विक चर $_GET गार्जियन में एक साहचर्य सरणी जानकारी है कि उस पृष्ठ पर भेजा जाता है. प्राप्त करने के लिए, बस के रूप में कहा कि सरणी का उपयोग तक पहुँच कुंजी के नाम चर के फ़ील्ड के लिए असाइन किया गया शिपिंग के रूप विशेषता का उपयोग कर नाम.
एक समय है चर में संग्रहीत मान, हम उन पर उचित कार्रवाई के लिए बाहर ले सकते हैं: उन्हें एक डेटाबेस में संग्रहीत, यदि वे सही हैं की जाँच करें, उन्हें करने के लिए उपयोगकर्ता दिखाएँ, …
शिपिंग और पोस्ट विधि के माध्यम से भेजा गया ऐसा डेटा का संग्रह
भेजने और का उपयोग कर किसी प्रपत्र पर डेटा का संग्रह पोस्ट एक तरह से बनाया है इसी तरह और, बस, वे बदल शिपिंग विधि और संग्रह विधि. चलो देखते हैं यह:
1 | <form action="login.php" method="POST"> |
इस बार, हम सेट अप हमारे प्रपत्र इतना है कि शिपिंग द्वारा किया जाता है विधि पोस्ट. इसी तरह पिछले आकार करने के लिए, हम डेटा के संग्रह पृष्ठ पर देखने के लिए जा रहे हैं login.php.
1 2 3 4 5 6 7 | <?php $usuario = $_POST [ 'usuario' ]; $contrasena = $_POST [ 'contrasena' ]; // Realizamos las actuaciones oportunas con estas dos variables ?> |
जैसा कि हम देख सकते हैं, के रूप संग्रह ES समान जब तक, इस बार, यह चर वैश्विक डिफ़ॉल्ट के माध्यम से प्रदर्शन किया $_ POST. ऐसा ही, यह चर में, वे रखा हैं, के रूप में साहचर्य सरणी, फार्म के माध्यम से भेजे गए चर.
अगर ऐसा है, उसके बाद, ¿क्या अंतर है एक फार्म के माध्यम से प्रस्तुत करने के बीच विधि प्राप्त या माध्यम से पोस्ट विधि?
विधि प्राप्त के बीच अंतर और रूपों के लदान में पोस्ट
को अंतर में निहित है कैसे डेटा भेजा है. यदि आप उपयोग कर रहे हैं विधि प्राप्त, आप देख सकते हैं कि जब आप बटन पर क्लिक करें दर्ज करें, को URL गंतव्य पृष्ठ से इस के समान कुछ है:
1 | http://tu-dominio.es/login.php?usuario=prof_falken&contrasena=prueba |
को विधि प्राप्त Appends विभिन्न क्षेत्रों, अपने मूल्यों के साथ, पता गंतव्य के लिए के रूप, से क्या होगा आसान ऐसे फ़ील्ड्स बस देख पता प्राप्त करें, विशेष रूप से फ़ील्ड पासवर्ड, जो है संवेदनशील जानकारी. ऐसा ही, GET पद्धति एक असीमित शिपमेंट की अनुमति नहीं जानकारी है कि पहले से ही के लिए डिफ़ॉल्ट अधिकतम है URL की लंबाई जिसके परिणामस्वरूप, के बारे में 3000 वर्ण मैक्स के रूप में.
दूसरी ओर, को पोस्ट विधि गंतव्य पता URL करने के लिए जानकारी के जोड़े जाते कहा नहीं किया, लेकिन यह क्या करता है HTTP अनुरोध के मुख्य भाग में, तो दिखाई नहीं देता है उपयोगकर्ता के लिए. जानकारी भेज रहा है, जब इस विधि आम तौर पर उपयोग किया जाता है व्यक्तिगत या गोपनीय. GET पद्धति के विपरीत, पोस्ट विधि अधिकतम नहीं है प्रस्तुत जानकारी के आकार का. यह केवल हो जाएगा घिरा इसके द्वारा सर्वर कॉन्फ़िगरेशन गंतव्य.
जैसा कि हमने देखा है, वहाँ रहे हैं दो रूप प्रदर्शन शिपिंग की एक प्रपत्र डेटा. नहीं हम बस का उपयोग कर सकते है HTML इन डेटा एकत्रित करने के लिए, लेकिन हम क्या करना है का उपयोग करें की एक सर्वर की ओर से प्रोग्रामिंग की भाषा, इस मामले में PHP. हम जो भी देखा है, जानकारी भेजने के लिए जा रहे हैं के प्रकार के आधार पर, बेहतर बनाने माध्यम से शिपमेंट है विधि प्राप्त या का उपयोग करके पोस्ट विधि, हमेशा एक ही है और आपकी गोपनीयता की मात्रा के खाते में ले जा.
