PHP Form Handling

Introduction to PHP Form Handling

चाहे कोई नयी email id create करनी हो या किसी exam का online form भरना हो आप HTML forms के द्वारा ही अपनी information पास करते है। किसी भी web page पर user से data input लेने का माध्यम forms होते है।

Forms की मदद से user required information fill करता है फिर एक button पर click करता है। जब user submit button पर क्लिक करता है तो action लिया जाता है। ये action

tag के action attribute में define होता है। इस attribute में आप या तो किसी HTML file का address देते है या किसी scripting file का जैसे की PHP या JavaScript का address देते है।

यदि आपको HTML form को PHP के द्वारा handle करना है तो आप action attribute में किसी PHP file का नाम देते है और उस PHP file में आप form को हैंडल करते है। इसका उदाहरण निचे दिया गया है -

example.php File:

<html>

<head>
<title>Forms Demo</title>
</head>

<body>

<form action="file1.php" method="GET">

Enter Name : <input type="text" name="userName"><br>
Enter Age : <input type="text" name="Age">

<input type="submit">
</form>

</body>
</html>

file1.php File:

<?php

$username = $_GET['userName'];  // Getting name
$age = $_GET['Age'];  //Getting age

echo "Name",$username;
echo "Age",$age;

?>

ऊपर दिए गए उदाहरण में example.php file में एक form create गया है। इस form में action के रूप में file1.php file को define किया गया है। साथ ही एक method define किया गया है जो की GET है। इस method के बारे में आप आगे जानेंगे।

file1.php PHP file में GET array के द्वारा form से access की गयी है। अब या तो इस information को PHP file वापस browser में ही print कर सकती है (जैसा की example में किया गया है।) या फिर database में store कर सकती है। ये totally आप पर depend करता है। ये उदाहरण इस प्रकार output generate करता है।

PHP forms in Hindi

$_GET एक array है। यदि method GET होता है तो वो सभी values जो user के द्वारा submit की जाती है वे आप इस array के द्वारा access कर सकते है। बस इसमें आपको उस particular form element का नाम pass करना होता है। और ये आपको उसकी value return करता है। जैसे की ऊपर दिए गए उदाहरण में PHP file में name वाले text का नाम pass करके यूज़ द्वारा enter करवाये गए नाम को echo method के द्वारा print करवाया गया है।

एक बात आपको यंहा पर ध्यान रखनी चाहिए की example.php file browser level पर काम कर रही है। ये यूज़र से browser के द्वारा information ले रही है और PHP file को पास कर रही जो की server से interact कर रही है। क्योंकि PHP file server पर ही execute होती है।

जैसा की आप जानते है PHP code server पर होता है और HTML code client side पर यानि browser में होता है। Browser से information server को भेजने के लिए आपके पास 2 methods है। ऐसा आप GET और POST methods की मदद से कर सकते है। HTML के हर टैग में 2 common attributes होते है name और value। जैसे ही यूज़र submit button पर क्लिक करता है ये name और value server पे जाती है और वहाँ script के according action लिया जाता है। जब भी value server को जाती है तो उस particular tag का name और उसकी value के pair में जाती है।

आइये अब इन दोनों methods के बारे में detail से जानने का प्रयास करते है।

PHP GET Method

  • GET method form की information URL में encode करके भेजता है। कोई भी आसानी से इस information को पढ़ सकता है। इसलिए GET मेथड secure नहीं माना जाता है। यदि user कोई sensitive information submit कर रहा है तो आपको GET method कभी नहीं यूज़ करना चाहिए।
  • GET method से आप बहुत कम characters तक की ही information भेज सकते है।
  • GET method के द्वारा आप media नहीं भेज सकते है। उदाहरण के लिए आप जैसे कोई व्यक्ति अपनी image upload कर रहा है तो ऐसी situation में आप GET method नहीं यूज़ कर सकते है।
  • GET method में information array के रूप में भेजी जाती है जिसमे tag का नाम तो index का काम करता है और tag की value उस index की value होती है। जैसे की $_GET के array है।

उदाहरण के लिए निचे दिए हुए tag को देखिये। जब इन टैग की information server पर जाएगी तो इसके नाम और जो value यूज़र input करेगा उसकी form में जाएगी।

<input type="text" name="userName">
<input type="text" name="userAge">

जब इनकी इनफार्मेशन सर्वर पर जाएगी तो वो इस प्रकार होगी - http://www.yourSite.com/targetPHPfile.php/userName=yourName&userAge=108

जैसा की आप देख रहे है GET मेथड में पूरी information URL में देखी जा सकती है। इसलिए इसे safe नहीं माना जाता है और बहुत कम यूज़ किया जाता है।

PHP POST Method

POST method GET मेथड की बजाय secure होता है। इस मेथड में आप information HTTP headers के द्वारा भेजते है। Sensitive information के लिए आपको हमेशा POST method यूज़ करना चाहिए। आइये POST method से जुडी कुछ महत्वपूर्ण बाते जानने का प्रयास करते है।

  • POST method में data की कोई limit नहीं होती है, इसमें आप कितनी भी information send कर सकते है।
  • POST method के द्वारा आप media files भी send कर सकते है, जैसे की images और video आदि।
  • POST method में सारा data HTTP protocol के through जाता है। इसलिए data secure होता है।
  • जब आप POST method यूज़ करते है तो आपकी information URL में शो नहीं होती है।

POST method यूज़ करने के लिए आप tag के method attribute में POST define करते है। और PHP file में information पाने के लिए $_POST array यूज़ करते है।

PHP Form Validation

Forms के द्वारा user जो data input करता है उसे आप PHP से validate कर सकते है। Validation एक process होती है जिसमें यह पता लगाया जाता है की user ने जो data input किया है वह valid है या नहीं। Validation एक महत्वपूर्ण process है क्योंकि invalid data invalid results produce करता है जो किसी भी web application के लिए उचित नहीं है।

PHP में data को validate करने के लिए filters use किये जाते है। PHP आपको कई filter functions provide करती है जिनसे आप invalid data को identify भी कर सकते है और उसको clean (sanitize) भी कर सकते है। PHP filters के बारे में विस्तृत जानकारी के लिए आप PHP filters in Hindi tutorial पढ़ सकते है।