GET & POST Method | Difference Between GET & POST
|GET & POST Method के द्वारा हमें Server पर कोई Request भेजना होती हैं तो हमें Form का उपयोग करना होता हैं और Form के द्वारा हम Submit Button से हम Form के सभी Child की Value को किसी भी अन्य PHP के page पर भेज सकते हैं। Value भेजने का कार्य तो Form Handle कर लेता हैं और Receive करने के लिए हमें Global Variable $_GET और $_POST कर जरुरत लगती हैं। आइये इस Example से समझते हैं की किस तरह से Value को Form के द्वारा भेजा और $_GET और $_POST के द्वारा Receive किया जाता हैं। आइए इस आर्टिकल मे हम post and get method in php के बारे मे समझते हैं ।
What is get method in PHP?
Get Method के द्वारा हम URL पर Parameter के माध्यम से Data या जो भी हमने Programing के लिए Flag बनाए हैं उनके एक Page से दूसरे Page पर भेजते हैं । आइए आगे example से समझते हैं ।
PHP Get Method Example
<FORM method="GET" action="get.php" >
Enter Value of A <input type="number" id="f_a" name="f_a" /><br>
Enter value of B <input type="number" id="f_b" name="f_b" /><br>
<input type="submit" id="btn_ok" value="SAVE">
</FORM>
आइये में आपको उपरोक्त Code के बारे में Detail में समझा देता हु।
- FORM : यह एक HTML Tag हैं जिसकी सहायता से हम Server पर Data Send कर सकते हैं।
- Method : यहाँ पर हमें GET और POST में से एक लिखना होता हैं यदि हम Data GET Method से भेज रहे है तो GET से ही Receive करेंगे और POST से भेज रहे हैं तो POST से ही Receive करेंगे। इस Example में हमें डाटा GET से भेजा है इसलिए Method में GET लिखा हैं।
- Action : यानि की जब भी हम सबमिट करे तो इस पेज पर हमें रेडिरेक्ट करना हैं उस पेज का नाम यहाँ पर लिखा जाता यहीं यदि हमें इसी पेज पर रेडिरेक्ट होना हैं तो हम यहाँ पर इसी पेज का नाम लिख सकते हैं हमें अभी gate.php पर redirect होना था इसलिए हमने यहाँ पर get.php लिखा हैं। आप अपने अनुसार पेज का नाम रख सकते हैं।
- name : जिस भी input Tag का Data आप Send करना चाहते हैं उसे पर Name Attribute देना जरुरी हैं। जिस पर Name Attribute दिया होता वही Send किया जाता हैं।
- Submit Button : Form से Data type =”submit” करने से ही जाता हैं इसलिए आपको input type =”submit” देना जरुरी होता हैं वैसे यह कार्य हम AJAX से भी कर सकते थे उसके लिए में आपको एक अलग से Article में समझाऊंगा।
Run करने पर कुछ इस तरह से output Display होगा। उस पर हमने 3 और 2 enter किया हैं।
उपरोक्त Code से हमने Value को Send कर दिया अब निम्न Code से हम Value को Received
PHP FORM action page
<?php
$a = 0;
if (isset($_GET['f_a']))
{
$a = $_GET['f_a'];
}
$b = 0;
if (isset($_GET['f_b']))
{
$b = $_GET['f_b'];
}
echo 'Ans is :'. ($a + $b);
?>
- $_GET[‘f _a ‘] : इस Code में हमें String में input tag का name देना होता हैं जो हमने MyForm.php से Send किया था।
- isset() : यदि कोई भी Parameter दिया हैं तो इस Set True Return करता है और यदि नहीं दिया हैं तो False return करेगा यानि की यदि आपने $_GET में ऐसा कोई Variable का नाम दे दिया जो की Form पर नहीं था तो यहाँ पर आप Check लगा कर Error को Handle कर सकते हैं.
यदि यह Code आप MyForm.php के header में लिखते और Form की Action पर MyForm.php लिख देते तो भी Code Execute हो जाता।
Output
जब आप value enter कर Save करेंगे तो URL पर कुछ इस प्रकार दिखाई देगा।
हमारे अन्य ARTICLE
- MySQL Aggregate Function
- MySQL Stored Procedures
- MySQL Trigger (Before/After)
- PHP Form Validations, Required, Filter
- PHP MySQL Connection
- Dropdown Retrieve from MySQL
- Learn C (Single Page Summary)
- Arduino Guide 2021 (Hindi)
- कीबोर्ड शॉर्टकट्स
What is POST method in PHP?
Post Method का कार्य भी एक Page से दूसरे Page Data ले जाना हैं लेकिन यह URL के माध्यम से नहीं ले जाता हैं, एक तरह से data Hidden Mode मे जाता हैं user इस data को देख नहीं सकता , देखने से लिए उसे थोड़ी मेहनत करना होती हैं ।
PHP POST Method Example
जो हमें अभी Get Method का Example देखा उसे हमें केवल जहा पर भी GET लिखा हैं उसकी जगह पर POST लिखना है तो यह Example POST Method से Execute हो जाएगा। आइये देखते हैं।
<FORM method="POST" action="post.php" >
Enter Value of A <input type="number" id="f_a" name="f_a" /><br>
Enter value of B <input type="number" id="f_b" name="f_b" /><br>
<input type="submit" id="btn_ok" value="SAVE">
</FORM>
हमें उपरोक्त Code में केवल दो जगह पर Name change किया है एक Method में और दूसरा Page का नाम क्युकी हम अलग page बना रहे हैं इसलिए हमने पेज के नाम में Change किया हैं Page का नाम आप अपने अनुसार रख सकते हैं।
<?php
$a = 0;
if (isset($_POST['f_a']))
{
$a = $_POST['f_a'];
}
$b = 0;
if (isset($_POST['f_b']))
{
$b = $_POST['f_b'];
}
echo 'Ans is :'. ($a + $b);
?>
इसमें हमने जहा पर GET लिखा था वह पर POST लिखा हैं बाकि Example वैसा ही हैं।
Output
जब आप Execute करेंगे तो कुछ इस प्रकार दिखाई देगा
What is the Difference Between GET and POST Method in PHP in Hindi
हमने अभी GET और POST दोनों Method देखी दोनों का ही कार्य एक जैसा हैं अब आपके मन में Query होती की जब दोनों ही एक जैसे हैं तो फिर दो बनाने की जरुरत क्या थी ? तो आइये में आपको get and post method difference (दोनों में अंतर) को स्पष्ट करता हु।
- Secure : जब हमें GET से Send करते हैं तो वह हमें URL पर दिखाई देता हैं , जबकि POST से Data send करने से वह URL पर दिखाई नहीं देता, इसलिए POST ज्यादा Secure माना जाता हैं।
- Data Length : Get में हम 255 character तक ही data Send कर सकते है , जबकि POST में कोई लिमिट नहीं हैं।
- String : Get में जो भी Data Send किया जाता हैं वह String में convert हो जाता हैं क्युकी Data URL के माध्यम से भेजा जाता हैं। जबकि POST में String, integer आदि सभी Data Type में Data Send किया जाता है।
- Save in Browser History : Get URL में होने के कारण browser की history में save हो सकती हैं जबकि POST का data Browser history में save नहीं होता।
Difference between get and post in HTML with example: इतना Read करने के बाद आपको difference between get and post in php समझ मे आ गया होगा ।
Difference between GET and POST method in Tabular Form
GET Method | POST Method | |
Security | Show on URL (Not Secure) | Not Show on URL (Secure) |
Date Length | 255 Character | No Limit |
Data Type | String | String/Integer |
Browser History | Saved in Browser History | Not Saved in Browser History |
Why use GET Method in PHP ?
- जब भी हम चाहते हैं की हमारे द्वार Pass किये गए Parameter URL में दिखाई दे तो हम GET का उपयोग करे।
- यदि हमें एक पेज से दूसरे पेज पर anchor tag से भी जाना हैं तो हम वह पर manual parameter पंहुचा सकते हैं।
- यदि हमें किसी पेज को Bookmark करना हैं तो URL पर Parameter होने से हम आसानी से bookmark कर सकते हैं।
- GET पर कार्य करना , डाटा भेजना POST की तुलना में आसान होता हैं।
Why use POST Method in PHP ?
- जब हमें Data को Secure रखना हो तब हमें POST का उपयोग करना चाहिए
- POST के उपयोग से URL छोटी ही रहती हैं इसलिए भी हम POST का उपयोग कर सकते हैं।
- यदि String के अलावा और किसी Type का Data Send कर रहे हैं तो POST का ही उपयोग करे।
- यदि आपके Page पर अधिक input tag हो तो post से ही डाटा Send करे।
- यदि आप Browser history में Parameter Store नहीं करना चाहते हैं तो POST उपयोग करे।
GET और POST दोनों Method का एक साथ उपयोग कर सकते हैं ?
- हां हम GET और POST का डाटा एक साथ भेजना और प्राप्त करना कर तो सकते हैं लेकिन उसके लिए कुछ शर्ते हैं।
- हमें mehtod में post ही उपयोग करना होती हैं और हम Manual Parameter के द्वारा Get वाली Value Send कर सकते हैं।
आइये इस Example से दोनों Method का एक ही बार में कैसे उपयोग करते हैं समझने की कोशिश करते हैं।
<FORM method="POST" action="post.php?id=5&v=10" >
Enter Value of A <input type="number" id="f_a" name="f_a" /><br>
Enter value of B <input type="number" id="f_b" name="f_b" /><br>
<input type="submit" id="btn_ok" value="SAVE">
</FORM>
?id= : यहाँ पर हमें id नाम से एक Parameter बना कर उसकी वैल्यू 5 सेंड की हैं और & लगा कर हम आगे कितने ही और Parameter भेज सकते हैं।
<?php
$id = 0;
if (isset($_GET['id']))
{
$id = $_GET['id'];
}
$a = 0;
if (isset($_POST['f_a']))
{
$a = $_POST['f_a'];
}
$b = 0;
if (isset($_POST['f_b']))
{
$b = $_POST['f_b'];
}
echo 'Ans is :'. ($a + $b);
?>
यहाँ पर हमने दोनों method से डाटा को Receive किया हैं। उपरोक्त Example मे हमने get and post method in php in hindi को समझा ।
PHP Get All POST Data
Q. क्या हम पोस्ट मे भेजे गए सभी Data को किसी लूप के माध्यम से Read कर सकते है ।
जी, हा बिल्कुल आप एक foreach loop का उपयोग कर सभी Data को Get कर सकते हैं।
<?php
foreach ($_POST as $KeyName => $KeyValue)
{
$InputName = htmlspecialchars($KeyName);
$inputValue = htmlspecialchars($KeyValue);
}
?>
आप $InputName और $inputValue का उपयोग आगे अपने Program मे कही भी कर सकते हैं ।
आशा हैं मुझे की आपको get and post in php (Get Method / Post Method) के बारे में बहुत सटीक जानकारी मिल गई होगी। फिर भी यदि आपके मन में कोई Doubt हो तो आप मुझे Comment कर Query पूछ सकते हैं में आपको Reply करने की पूरी कोशिश करूँगा।
अपना कीमती समय देने के लिए धन्यवाद्।