⊗ppPmFmChcN 307 of 447 menu

รายละเอียดการใช้ช่องทำเครื่องหมายใน PHP

สมมติว่าในฟอร์มของเรามีเพียงช่องทำเครื่องหมาย:

<form action="" method="GET"> <input type="checkbox" name="flag"> <input type="submit"> </form>

สมมติว่ารหัสการประมวลผลฟอร์มของเราดูเหมือนว่านี้:

<?php if (!empty($_GET)) { // หากส่งฟอร์มแล้ว if (isset($_GET['flag'])) { // หากช่องทำเครื่องหมายถูกเลือก echo 'ถูกเลือก'; } else { echo 'ไม่ถูกเลือก'; } } ?>

เรากำลังจะเจอปัญหา - หากช่องทำเครื่องหมายไม่ถูกเลือก เนื่องจากในฟอร์มไม่มีองค์ประกอบอื่นนอกจากช่องทำเครื่องหมาย ใน $_GET จะมีอาเรย์ว่าง ซึ่งหมายความว่าในโค้ดการประมวลผลฟอร์ม เราจะไม่เข้าสู่เงื่อนไข if แรก ที่ตรวจสอบ การส่งฟอร์ม

สำหรับการแก้ปัญหา ใช้เทคนิคพิเศษ: สร้างอินพุตแบบซ่อนด้วยชื่อเดียวกัน กับช่องทำเครื่องหมายของเรา ในกรณีนี้ค่า ของอินพุตแบบซ่อนถูกตั้งเป็นศูนย์ และช่องทำเครื่องหมาย - เป็นหนึ่ง:

<form action="" method="GET"> <input type="hidden" name="flag" value="0"> <input type="checkbox" name="flag" value="1"> <input type="submit"> </form>

ในกรณีนี้จะได้ผลดังต่อไปนี้ หาก ช่องทำเครื่องหมายไม่ถูกเลือก เซิร์ฟเวอร์จะได้รับ เฉพาะค่าจากอินพุตแบบซ่อนเท่านั้น แต่หาก ช่องทำเครื่องหมายถูกเลือก เซิร์ฟเวอร์จะได้รับ ค่าทั้งสองที่มีชื่อเดียวกัน แต่เนื่องจาก ค่าของช่องทำเครื่องหมายจะเป็นลำดับที่สอง มันจะ เขียนทับค่าลำดับแรก

ดังนั้น ตอนนี้ช่องทำเครื่องหมายของเราจะส่ง ไปยังเซิร์ฟเวอร์เป็นศูนย์หรือหนึ่ง:

<?php var_dump($_GET['flag']); // '0' หรือ '1' ?>

มาใช้สิ่งนี้ในการตรวจสอบของเรา:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'ถูกเลือก'; } else { echo 'ไม่ถูกเลือก'; } } ?>

ใช้ช่องทำเครื่องหมายถามผู้ใช้ ว่าอายุถึง 18 ปีแล้วหรือไม่ หาก ถึงแล้ว อนุญาตให้เขาเข้าถึงเว็บไซต์ได้ แต่หาก ไม่ถึง - ไม่อนุญาต

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ