PHP POST method का उपयोग डाटा को server पर transfer करने के लिए होता हैं ।POST method को हम फॉर्म हैंडलिंग(form handling)method भी कहते हैं ।
जब कोई यूजर वेबसाइट फॉर्म भरता है और सबमिट बटन पर क्लिक करता है, तो फॉर्म डाटा POST method के द्वारा सर्वर पर जाता हैं ।
साधारण हिंदी भाषा में कहे तो जब हम हमें सर्वर पर डाटा सेंड करना होता हैं तो हम एक HTML form क्रिएट करते हैं । फॉर्म क्रिएट करने के बाद जब यूजर फॉर्म भरके बटन पर क्लिक करते हैं तो डाटा को सेंड करने के लिए एक फॉर्म हैंडलिंग मेथड का उपयोग करते हैं । डाटा को सर्वर पर सेंड करने के लिए हम GET method या POST method का उपयोग करते हैं ।
पिछले PHP tutorial में हमने GET method के बारे सीखा था इस tutorial में हम POST method बारे में सीखेंगे ।
PHP POST method इनफार्मेशन को सर्वर पर ट्रांसफर करने के लिए use किया जाता हैं । POST method के द्वारा हम कितनी भी लिमिट में डाटा को सर्वर पर सेंड कर सकते हैं ।
POST method HTTP हेडर(header) के माध्यम से जानकारी transfer करते हैं। यदि आप एक डायनामिक वेबसाइट(dynamic website) बनाना चाहते हैं, तो आपको post method के बारे में पूरी जानकारी होनी चाहिए।
सुरक्षा उद्देश्य (Security purpose) के लिए पोस्ट मेथड का उपयोग कर सकते हैं।
POST method में फॉर्म का डाटा पेज यूआरएल(URL) में नहीं दिखाई देता जैसे की GET method में फॉर्म डाटा पेज यूआरएल में दिखाई देता हैं ।
$_POST['varibale_name'];
ऊपर दिए गए सिंटेक्स में, $ _POST[] PHP का एक array है और $_POST एक वेरिएबल हैं । जब आप एक लॉगिन फ़ॉर्म बनाते हैं, तो कुछ वेरिएबल्स(variables) को डिफाइन करते हैं जो HTML फॉर्म से वैल्यू लाते हैं। हम $ _POST [] में वेरिएबल नाम देते हैं। जब एक फॉर्म बनाते हैं और फॉर्म के अंदर कुछ फील्ड(fields) लेने पड़ते हैं हर फील्ड के नाम को डिफाइन करना होता हैं । HTML फॉर्म को पूरा करने के बाद, आपको $ _POST[] array में फ़ील्ड नाम की वैल्यू को स्टोर करने के लिए array में स्टोर करना होता हैं । array में स्टोर डाटा को हम POST method की मदत से सर्वर पर सेंड कर सकते हैं ।
नीचे दिए गए उदाहरण में, हम POST method के लिए एक HTML फॉर्म और एक PHP स्क्रिप्ट(script) code बनाते हैं।
<html>
<head>
</head>
<body>
<form action="" method="POST">
User Name:
Password:
</body>
</html>
<?php
if(isset($_POST['submit']))
{
echo"
";
echo 'UserName-'.$_POST['user'];
echo"
";
echo 'Password-'.$_POST['pass'];
}
?>
Run
ऊपर दिए गए उदाहरण में, हमने एक HTML फॉर्म बनाया है। HTML फॉर्म के अंदर दो fields हैं। पहला फ़ील्ड (टेक्स्ट बॉक्स) username और दूसरा फ़ील्ड (टेक्स्ट बॉक्स) password के लिए है।
जब कोई यूजर फॉर्म में डाटा भरके सबमिट बटन पर क्लिक करता हैं तो फॉर्म fields (यूजरनाम ,पासवर्ड)array में स्टोर होक $_POST वेरिएबल के द्वारा और form method POST के द्वारा सर्वर डाटा सेंड किया जाता हैं।
1. फॉर्म डाटा को हैंडल करने के लिए ,हम POST method का उपयोग करते हैं।
2. POST method के लिए एक PHP स्क्रिप्ट(script) बनायीं हैं।
3. PHP स्क्रिप्ट में, हम सबमिट process को संभालने(handle) के लिए if condition का उपयोग किया हैं ।
4. $ _POST [] associative array का उपयोग करके और वेरिएबल नाम का उपयोग करते हैं । वेरिएबल नाम HTML फ़ील्ड नाम का समान होने चाहिए।
5. फॉर्म की वैल्यू को डिस्प्ले(display) करने के लिए हम echo() फंक्शन का उपयोग किया हैं ।
ये सब प्रोसेस आपको ऊपर दिए गए exampple में समझ आजायेगा ।
1. POST ,method डाटा को सर्वर पर ट्रांसफर करने में कोई परेशानी (issue) नहीं आती हैं ।
2. POST method के द्वारा सर्वर पर unlimited डाटा को सेंड किया जा सकता हैं।
3. POST method ASCII और बाइनरी(image, video, photo, document etc) डेटा भेजने में मदद करता हैं ।
4. पोस्ट मेथड में डाटा HTTP हेडर के माध्यम से जाता है। सुरक्षा HTTP प्रोटोकॉल(HTTP protocol) पर निर्भर करती है।
5. PHP POST method में डाटा सुरक्षित सर्वर पर ट्रांसफर हो जाता हैं।POST method के द्वारा कोई भी फॉर्म डाटा पेज यूआरएल में नहीं दीखता है। जैसे PHP GET method में यूआरएल में डाटा दिख जाता हैं ,इसलिए POST method, GET method से सुरक्षित माना जाता हैं ।
6. आप लॉगिन उद्देश्य (login purpose) के लिए PHP post method का उपयोग कर सकते हैं। यह username और password से related सेंसिटिव(sensitive) जानकारी को यूआरएल में नहीं दिखता हैं ।
इसलिए हम लॉगिन के लिए ,रजिस्ट्रेशन के लिए ज्यादातर POST method का ही उपयोग करते हैं क्युकी इसमें डाटा की सिक्योरिटी ज्यादा होती हैं ।