PHP फॉर्म - आवश्यक फ़ील्ड
यह अध्याय दिखाता है कि कैसे इनपुट फ़ील्ड को आवश्यक बनाया जाए और यदि आवश्यक हो तो त्रुटि संदेश बनाएं।
PHP - आवश्यक फ़ील्ड
पिछले पृष्ठ पर सत्यापन नियम तालिका से, हम देखते हैं कि "नाम", "ई-मेल", और "लिंग" फ़ील्ड आवश्यक हैं। ये फ़ील्ड खाली नहीं हो सकतीं और इन्हें HTML फॉर्म में भरा जाना चाहिए।
Field | Validation Rules |
---|---|
Name | Required. + Must only contain letters and whitespace |
Required. + Must contain a valid email address (with @ and .) | |
Website | Optional. If present, it must contain a valid URL |
Comment | Optional. Multi-line input field (textarea) |
Gender | Required. Must select one |
पिछले अध्याय में, सभी इनपुट फ़ील्ड वैकल्पिक थे।
निम्नलिखित कोड में हमने कुछ नए चर जोड़े हैं: $nameErr, $emailErr, $genderErr, और $websiteErr। ये त्रुटि चर आवश्यक फ़ील्ड के लिए त्रुटि संदेश रखेंगे। हमने if else
प्रत्येक $_POST वैरिएबल के लिए एक स्टेटमेंट भी जोड़ा है। यह जांचता है कि $_POST चर खाली है या नहीं (PHP empty()
फ़ंक्शन के साथ)। यदि यह खाली है, तो विभिन्न त्रुटि चर में एक त्रुटि संदेश संग्रहीत किया जाता है, और यदि यह खाली नहीं है, तो यह test_input()
फ़ंक्शन के माध्यम से उपयोगकर्ता इनपुट डेटा भेजता है:
<?php
// define variables and set to empty values
$nameErr = $emailErr
= $genderErr = $websiteErr = "";
$name = $email = $gender = $comment =
$website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["email"]))
{
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}
if (empty($_POST["website"]))
{
$website = "";
} else {
$website = test_input($_POST["website"]);
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
if
(empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else
{
$gender = test_input($_POST["gender"]);
}
}
?>
PHP - त्रुटि संदेश प्रदर्शित करें
फिर एचटीएमएल फॉर्म में, हम प्रत्येक आवश्यक फ़ील्ड के बाद एक छोटी सी स्क्रिप्ट जोड़ते हैं, जो जरूरत पड़ने पर सही त्रुटि संदेश उत्पन्न करता है (अर्थात यदि उपयोगकर्ता आवश्यक फ़ील्ड को भरे बिना फॉर्म जमा करने का प्रयास करता है):
उदाहरण
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
अगला कदम इनपुट डेटा को मान्य करना है, जो है "क्या नाम फ़ील्ड में केवल अक्षर और व्हाइटस्पेस हैं?", और "क्या ई-मेल फ़ील्ड में एक वैध ई-मेल पता सिंटैक्स है?", और यदि भरा गया है, " क्या वेबसाइट फ़ील्ड में एक मान्य URL है?"।