PHP - सत्यापन उदाहरण
आवश्यक फ़ील्ड यह जांच करेगी कि फ़ील्ड सही तरीके से भरी गई है या नहीं। ज्यादातर मामलों में हम इसका इस्तेमाल करेंगे* आवश्यक क्षेत्र के लिए प्रतीक।
मान्यता क्या है?
सत्यापन का अर्थ है उपयोगकर्ता द्वारा प्रस्तुत इनपुट की जांच करना। PHP में दो प्रकार के सत्यापन उपलब्ध हैं। वे इस प्रकार हैं -
Client-Side Validation - सत्यापन क्लाइंट मशीन वेब ब्राउज़र पर किया जाता है।
Server Side Validation - डेटा द्वारा सबमिट किए जाने के बाद, डेटा ने एक सर्वर को भेजा है और सर्वर मशीन में सत्यापन जांच करता है।
क्षेत्र के लिए मान्यकरण के कुछ नियम
मैदान | मान्यता नियम |
---|---|
नाम | आवश्यक अक्षर और श्वेत-स्थान होना चाहिए |
ईमेल | चाहिए @ तथा . |
वेबसाइट | एक मान्य URL चाहिए |
रेडियो | कम से कम एक बार चयन करने योग्य होना चाहिए |
चेक बॉक्स | कम से कम एक बार चेक करने योग्य होना चाहिए |
ड्रॉप डाउन मेनू | कम से कम एक बार चयन करने योग्य होना चाहिए |
मान्य URL
नीचे दिया गया कोड URL का सत्यापन दिखाता है
$website = input($_POST["site"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}
ऊपर सिंटैक्स सत्यापित करेगा कि दिया गया URL वैध है या नहीं। इसे कुछ कीवर्ड्स जैसे कि https, ftp, www, az, 0-9, .. आदि की अनुमति देनी चाहिए।
वैध ईमेल
नीचे दिए गए कोड ईमेल पते का सत्यापन दिखाता है
$email = input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid format and please re-enter valid email";
}
ऊपर सिंटैक्स सत्यापित करेगा कि दिया गया ईमेल पता अच्छी तरह से बना है या नहीं। यदि ऐसा नहीं है, तो यह एक त्रुटि संदेश दिखाएगा।
उदाहरण
नीचे दिया गया उदाहरण आवश्यक फ़ील्ड सत्यापन के साथ फ़ॉर्म दिखाता है
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?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"]);
// 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"]);
}
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"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>Absolute classes registration</h2>
<p><span class = "error">* required field.</span></p>
<form method = "post" action = "<?php
echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<table>
<tr>
<td>Name:</td>
<td><input type = "text" name = "name">
<span class = "error">* <?php echo $nameErr;?></span>
</td>
</tr>
<tr>
<td>E-mail: </td>
<td><input type = "text" name = "email">
<span class = "error">* <?php echo $emailErr;?></span>
</td>
</tr>
<tr>
<td>Time:</td>
<td> <input type = "text" name = "website">
<span class = "error"><?php echo $websiteErr;?></span>
</td>
</tr>
<tr>
<td>Classes:</td>
<td> <textarea name = "comment" rows = "5" cols = "40"></textarea></td>
</tr>
<tr>
<td>Gender:</td>
<td>
<input type = "radio" name = "gender" value = "female">Female
<input type = "radio" name = "gender" value = "male">Male
<span class = "error">* <?php echo $genderErr;?></span>
</td>
</tr>
<td>
<input type = "submit" name = "submit" value = "Submit">
</td>
</table>
</form>
<?php
echo "<h2>Your given values are as:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>
यह निम्नलिखित परिणाम का उत्पादन करेगा -