در ادامه مطلب همراه ما باشید

آموزش PHP – فیلدهای الزامی

فیلدهای الزامی در PHP

در آموزش قبلی، تمام فیلدهای ورودی اختیاری بودند. اما همانطور که در جدول اعتبار سنجی زیر مشخص شده است، فیلدهای “نام”، “ایمیل” و “جنسیت” الزامی اند. این فیلدها نمی توانند خالی باشند و باید حتماً با یک مقدار تنظیم شوند.

قوانین اعتبارسنجی:

قوانین اعتبار سنجی
فیلد
الزامی است. فقط باید شامل حروف الفبا و خط فاصله باشد.
نام
الزامی است. باید شامل فرمت صحیح ایمیل باشد (همراه با علامت @ و .)
ایمیل
اختیاری است. اگر پر شد، باید شامل فرمت صحیح URL باشد.
وب سایت
اختیاری است. می تواند شامل چند خط متن باشد (textarea)
توضیحات
الزامی است. یکی از دو مورد باید انتخاب شود.
جنسیت

 

در کد زیر، تعدادی متغییر جدید با نام های nameErr$ و emailErr$ و genderErr$ و websiteErr$ اضافه شده است. این متغییرهای خطا، متن خطای مورد نظر را برای فیلدهای الزامی در خود نگه می دارند. ما همچنین برای هر متغییر POST_$ یک دستور if … else اضافه کرده ایم. این دستور شرطی، چک می کند که اگر متغییر POST_$ خالی است (با استفاده از تابع ()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

در فرم HTML، باید یک اسکریپت PHP اضافه نمایید. که متن خطای مورد نظر را نمایش می دهد:

مثال

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
span{min-width: 200px;float: right;}
</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 = “وارد کردن نام الزامی است”;}
else
{$name = test_input($_POST[“name”]);}

if (empty($_POST[“email”]))
{$emailErr = “وارد کردن ایمیل الزامی است”;}
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”]) || $_GET[“gender”]==”undefined”)
{$genderErr = “انتخاب جنسیت الزامی سات”;}
else
{$gender = test_input($_POST[“gender”]);}

}

function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>مثال اعتبارسنجی فرم ها در PHP</h2>
<form method=”post” action=”<?php echo htmlspecialchars($_SERVER[“PHP_SELF”]);?>”>
<div>
<span>نام:</span><input type=”text” name=”name”>
<span class=”error”>*</span>
</div>
<div>
<span>ایمیل:</span><input type=”text” name=”email”>
<span class=”error”>*</span>
</div>
<div>
<span>وب سایت:</span><input type=”text” name=”website”>
<span class=”error”></span>
</div>
<div>
<span>توضیحات:</span><textarea name=”comment” rows=”5″ cols=”40″></textarea>
<span class=”error”>*</span>
</div>
<div>
<span>جنسیت:</span>
<input type=”radio” name=”gender” value=”female”>زن
<input type=”radio” name=”gender” value=”male”>مرد
</div>
</div><input type=”submit” name=”submit” value=”ارسال اطلاعات”></div>
</form>

<?php
if ($nameErr!=”” || $emailErr!=”” || $genderErr!=”” || $websiteErr!=””)
echo “<span style=’color:red’ >
$nameErr <br /> $emailErr <br /> $genderErr <br /> $websiteErr
</span>”;
else
{
echo “<br /><h2>خروجی کدتان</h2>”;
echo “نام :$name”;
echo “<br />”;
echo “ایمیل: $email”;
echo “<br />”;
echo “وب سایت: $website”;
echo “<br />”;
echo “توضیحات: $comment”;
echo “<br />”;
echo “جنسیت: $gender”;
?>
}
</body>
</html>

 

خروجی کد بالا:

 

مثال اعتبارسنجی فرم ها در PHP

نام:
*
ایمیل:
*
وب سایت:
توضیحات:
*
جنسیت:
زن
مرد

در آموزش بعدی نحوه اعتبارسنجی فیلدهای “نام”، “ایمیل” و “وب سایت” توضیح داده خواهد شد. (آیا فیلد “نام”، فقط شامل حروف و فاصله خالی است – آیا فیلد “ایمیل”، شامل یک فرمت صحیح است – اگر فیلد “وب سایت” پر شد، آیا شامل یک فرمت صحیح است)

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هفده + 19 =

support
icon
پشتیبانی
Close
menu-icon
تیکت پشتیبانی