سبد (0)

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

در این آموزش، نحوه ی ساخت فیلدهای الزامی (required) و نمایش پیغام خطای مناسب نشان داده خواهد شد.


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

Wiki

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

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

فیلد قوانین اعتبارسنجی
نام الزامی است. فقط باید شامل حروف الفبا و خط فاصله باشد.
ایمیل الزامی است. باید شامل فرمت صحیح ایمیل باشد (همراه با علامت @ و .)
وب سایت اختیاری است. اگر پر شد، باید شامل فرمت صحیح 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

Wiki

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

مثال (فیلدهای الزامی در 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 "جنسیت: $ender";
}
?>
</body>
</html>

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

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

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

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


برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

آموزش صوتی PHP

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه