PHP การตรวจสอบฟอร์ม

บทที่นี้แสดงว่าเป็นไปได้ที่จะสร้างช่องข้อมูลที่จำเป็น และสร้างข้อความของข้อผิดพลาดที่จำเป็น

PHP - ช่องข้อมูล

จากกฎการตรวจสอบในช่วงก่อนหน้านี้ เราเห็นว่าช่อง "Name", "E-mail" และ "Gender" จำเป็น ช่องเหล่านี้ไม่สามารถว่างและต้องกรอกข้อมูลในฟอร์ม HTML

ช่อง กฎการตรวจสอบ
ชื่อ จำเป็น
อีเมล จำเป็น
เว็บไซต์ ทางเลือก
ข้อคิดเห็น ทางเลือก
เพศ จำเป็น

ในช่วงก่อนหน้านี้ ทุกช่องข้อมูลทั้งหมดเป็นที่เลือกใช้

ในรหัสที่มาลงให้ต่อไปนี้ เราเพิ่มตัวแปรใหม่บางตัว: $nameErr, $emailErr, $genderErr และ $websiteErr ตัวแปรของข้อผิดพลาดนี้จะเก็บข้อความของข้อผิดพลาดของกรณีที่ขอค่าตัวแปรต่างๆ $$_POST ยังได้เพิ่ม if else บางส่วนเพื่อตรวจสอบว่า $_POST ตัวแปรที่ว่าว่างหรือไม่ (ผ่านฟังก์ชัน PHP empty()) ถ้าว่าง ข้อความของข้อผิดพลาดจะเก็บไว้ในตัวแปรของข้อผิดพลาดที่ต่างๆ ถ้าไม่ว่าง จะส่งข้อมูลที่ผู้ใช้ป้อนผ่านฟังก์ชัน test_input()

<?php}}
// กำหนดตัวแปรและตั้งค่าเป็นค่าว่าง
$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 พวกเราเพิ่มบทความสคริปต์เล็กน้อยหลังจากแต่ละช่องที่ขอรับ

ตัวอย่าง

<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>
<label>หมายเหตุ: <textarea name="comment" rows="5" cols="40"></textarea></label>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit"> 
</form>

ทดสอบตัวอย่าง

ต่อไปคือการตรวจสอบข้อมูลที่ใส่เข้ามา คือ “ช่อง Name คือแค่ตัวอักษรและช่องว่างหรือไม่?” และ “ช่อง E-mail มีรูปแบบที่ถูกต้องของที่ฉันอ้างว่าเป็นอีเมลหรือไม่?” และถ้าได้ใส่ช่อง Website,“ช่องนี้มี URL ที่ถูกต้องหรือไม่?”