‎‎فيلد هاي ضروري فرمPHP Forms-‎Required Fields

Previous >    <Next  

‎در اين فصل چكونگي ايجاد فيلد ضروري نشان داده خواهد شد .براي اين فيلد ها متناسب باشرايط ‎فيلد براي كنترل آنها پيغام مناسب در فرم داده ميشود.

‎در بخش قبلي در جدول قوانين فيلدها ملاحظه فرموديد كه سه فيلدName,E-‎mail وGender جزو ‎فيلدهاي ضروري هستند .يعني بايستي توسط كاربر تكميل گردند .يعني آنها نمي توانند خالي ارسال ‎شوند.

‎‎ ‎‎ ‎‎ ‎‎ ‎‎ ‎‎
فليدقوانين اعتبارسنجي
Nameفيلد ضروري وبايستي فقط شامل حروف وبلنك باشد
E-‎mail.فيلد ضروري وبايدمطابق قانون آدرس ايميل باشد
Websiteقابل قبول داشته باشد Url فيلد اختياريست وبايدآدرس
Comment.فيلداختياريست وچند خطي است
Gender .فيلد ضروريست وبايد يكي ازموارد انتخاب شود

‎در بخش قبلي تمام فيلدها اختياري فرض شدند و مطالب ارائه شد .اما در اين بخش كدهائي جهت ‎فيلدهاي ضروري اضافه ميگردد، تا بتوان متناسب با شرايط فيلدعمليات كنترل را انجام داد.

‎‎براي ارائه پيغام خطا براي هر فيلد ضروري يك متغير در نظر گرفته ميشود .متغيرهاي زير

$websiteErr , $genderErr , $emailErr ,$nameErr

‎براي هدف كنترل در نظر گرفته ميشود .همچنين براي كنترل ‎متغير ابرجهاني‎$_post[ ]‎ از دستور‎if else ‎ براي هركدام ازفيلدها ‎استفاده ميگردد

‎براي كنترل خالي بودن فيلد ازتابع ‎empty ( ) ‎‎استفاده ميشود، ودر صورت تهي بودن پيغام داده خواهد شد .همه كنترل ‎ها درتابع‎test_inpt()‎‎ انجام ميشود.

‎‎مجموعه دستورات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"]);
  }
  
  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"]);
  }
}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

‎‎نمايش خطاPHP -‎ Display The Error Messages

‎براي نمايش خطا در فرم براي فيلدهاي ضروري، براي هركدام ارآنها اسكريپت كوتاهي بعد از فيلد ‎قرار ميگيرد،كه باعث ميشود خطاي مناسب، در صورت تكميل نكردن فيلد بعدازsubmit توليد شود . ‎در اين حالت اطلاعات، درصورتي ارسال ميگردد كه بدون خطا باشد.

‎‎بعنوان نمونه براي فيلدname در فرم بدين صورت ميباشد .

Name: <input type="text" name="name"> <span class="error">* <?php echo$nameErr; ?></span>

‎‎مثال ـ برنامه كامل فرم واسكريپث كنترل وارسال مطابق زيراست.


  
<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"]);
  }
    
  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>PHP Form Validation Example</h2>
<p class="error">* required field</p>
<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>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>


--(go to editor for change code and run)

‎قدم بعدي كنترلname براي اينكه فقط شامل حروف وبلنك باشد وايميل آدرس قابل قبولي باشدو ‎وبسايت دارايurl قابل قبولي باشد .در بخش بعدي موارد را دنبال ميكنيم .


Previous >    <Next