PHP फॉर्म - ई-मेल और यूआरएल को मान्य करें
यह अध्याय दिखाता है कि नाम, ई-मेल और यूआरएल को कैसे मान्य किया जाए।
PHP - नाम मान्य करें
नीचे दिया गया कोड यह जांचने का एक आसान तरीका दिखाता है कि नाम फ़ील्ड में केवल अक्षर, डैश, एपॉस्ट्रॉफ़ और व्हाइटस्पेस हैं या नहीं। यदि नाम फ़ील्ड का मान मान्य नहीं है, तो एक त्रुटि संदेश संग्रहीत करें:
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z-' ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
preg_match() फ़ंक्शन पैटर्न के लिए एक स्ट्रिंग की खोज करता है, यदि पैटर्न मौजूद है, और अन्यथा गलत है तो वापस लौटता है।
PHP - ई-मेल मान्य करें
यह जांचने का सबसे आसान और सुरक्षित तरीका है कि ईमेल पता अच्छी तरह से बनाया गया है, PHP के filter_var() फ़ंक्शन का उपयोग करना है।
नीचे दिए गए कोड में, यदि ई-मेल पता अच्छी तरह से नहीं बनाया गया है, तो एक त्रुटि संदेश संग्रहीत करें:
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
PHP - URL मान्य करें
नीचे दिया गया कोड यह जांचने का एक तरीका दिखाता है कि क्या URL पता सिंटैक्स मान्य है (यह रेगुलर एक्सप्रेशन भी URL में डैश की अनुमति देता है)। यदि URL पता सिंटैक्स मान्य नहीं है, तो एक त्रुटि संदेश संग्रहीत करें:
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
PHP - नाम, ई-मेल और यूआरएल मान्य करें
अब, स्क्रिप्ट इस तरह दिखती है:
उदाहरण
<?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"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z-' ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
}
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"]);
}
}
?>
अगला कदम यह दिखाना है कि जब उपयोगकर्ता फॉर्म जमा करता है तो फ़ॉर्म को सभी इनपुट फ़ील्ड खाली करने से कैसे रोकें।