PHP ການກວດກາຟອມ - ພາກສ່ວນການເຂົ້າເມືອງທີ່ຕ້ອງມີຄວາມຄຸມຄອງ
- ບ່ອນເວລາ PHP Form Validation
- ບ່ອນໄກ PHP Form URL/E-mail
ບົດນີ້ສະແດງວິທີທີ່ເຮັດພາກສ່ວນການເຂົ້າເມືອງທີ່ຕ້ອງມີຄວາມຄຸມຄອງ ແລະ ຂໍ້ບັນຫາທີ່ຈະຕ້ອງມີຖ້າຈະຕ້ອງມີ.
PHP - ພາກສ່ວນຂອງການເຂົ້າເມືອງ
ຈາກກົດລະບຽບການກວດກາທີ່ຜ່ານມາພວກເຮົາໄດ້ເຫັນ "Name", "E-mail" ແລະ "Gender" ພາກສ່ວນ. ພາກສ່ວນທີ່ພວກເຮົາມີຈະບໍ່ວ່າງຫຍັງ ແລະ ຕ້ອງມີທີ່ຍັງມີຢູ່ໃນຟອມ HTML.
ພາກສ່ວນ | ກົດລະບຽບການກວດກາ |
---|---|
ຊື່ | ສະຫງົບ. ຕ້ອງມີທີ່ຍັງມີຢູ່ອີກອີກພາສາແລະສານພັກ. |
ອີເມວ | ສະຫງົບ. ຕ້ອງມີທີ່ຍັງມີຢູ່ວິທີສີເລືອກທີ່ບັນຈຸ @ ແລະ . |
ເວັບໄຊ | ສາມາດເລືອກໄດ້. ຖ້າຄົງເລືອກຈະຕ້ອງມີທີ່ຍັງມີຢູ່ URL. |
ຄຳຄິດເຫັນ | ສາມາດເລືອກໄດ້. ພາກສ່ວນຂອງຂໍ້ມູນທີ່ສາມາດເລືອກໄດ້ (ທໍນສັບ). |
ພາສານິຍົມ | ສະຫງົບ. ຕ້ອງເລືອກຢ່າງໜຶ່ງ. |
ໃນວັນນະຄັດທີ່ຜ່ານມາທຸກພາກສ່ວນຂອງຂໍ້ມູນແມ່ນສາມາດເລືອກໄດ້.
ໃນລະຫັດການລະບຸລະບຽບດ້ານຫັນໃຫຍ່ພວກເຮົາໄດ້ເພີ່ມຫຼາຍຄວາມປ່ຽນແປງໃໝ່: $nameErr, $emailErr, $genderErr ແລະ $websiteErr. ຄວາມປ່ຽນແປງທີ່ພວກເຮົາມີຈະບັນທຶກຂໍ້ບັນຫາຂອງພາກສ່ວນທີ່ຖືກຮຽກຮ້ອງ. ພວກເຮົາຍັງໄດ້ເພີ່ມຄຳສັ່ງ if else ສຳລັບຄວາມປ່ຽນແປງ $_POST. ຄຳສັ່ງນີ້ກວດກາວ່າຄວາມປ່ຽນແປງ $_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"]);?>"> ຊື່: <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>Comment: <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>
ຕໍ່ມາແມ່ນການກວດກາຂໍ້ມູນການເຂົ້າມື, ຄືວ່າ “ມີຊື່ຫົວຂໍ້ຕາມມີພຽງອັກສະນະອີກດຽວແລະອາກາດຫົວໄປຫາ?”, ແລະ “ມີສະຖານນີອີເມວມີສິນລະບົບຂອງອີເມວທີ່ມີຈຳກັດຫຼືບໍ່?”, ແລະ ຖ້າມີການບັນທຶກຂອງສະຖານນີເວັບໄຊ,“ສະຖານນີນັ້ນມີສິນລະບົບທີ່ມີຈຳກັດຫຼືບໍ່?”.
- ບ່ອນເວລາ PHP Form Validation
- ບ່ອນໄກ PHP Form URL/E-mail