Devdit
 

วิธีรับค่าจาก checkbox หลายๆ อันด้วยภาษา PHP ทำอย่างไร

3.7K

วิธีการรับค่าจาก checkbox ภาษา HTML หลายๆ อันด้วยภาษา PHP สามารถทำได้โดยการกำหนดตัวแปร checkbox ให้เป็นชนิด Array โดยมีขั้นตอนการเขียนโปรแกรมดังนี้

 

1. สร้าง Form Checkbox สำหรับให้ผู้ใช้งานติ๊กเลือก

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
สีที่ชอบ
<br/><input type="checkbox" value="แดง" name="color[]"> แดง
<br/><input type="checkbox" value="น้ำเงิน" name="color[]"> น้ำเงิน
<br/><input type="checkbox" value="ขาว" name="color[]"> ขาว
<br/><input type="checkbox" value="ดำ" name="color[]"> ดำ
<br/><input type="submit">
</form>

ตัวแปร color[] ของ checkbox ทั้งหมดอยู่ในรูปแบบของ Array ทำให้เราสามารถรับข้อมูลจากการติ๊กเลือกหลายๆ อันของผู้ใช้งานได้

 

2. ส่วนของภาษา PHP

<?php
    isset( $_POST['color'] ) ? $color = $_POST['color'] : $color = array();
    if( !empty( $color ) ) {
        echo "สีที่ชอบ คือ ";
        foreach( $color as $v ) {
            echo $v." ";
        }
    }
?>

มีการรับ และเช็คค่าตัวแป $color กรณีมีค่า โปรแกรมจะทำการวนลูปด้วยคำสั่ง foreach จากตัวแปร $color ที่รับค่าสีที่ผู้ใช้งานติ๊กเลือกผ่าน Form HTML และแสดงผลข้อมูลออกมาด้วยคำสั่ง echo

ตัวอย่าง โปรแกรมแบบเต็ม

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
สีที่ชอบ
<br/><input type="checkbox" value="แดง" name="color[]"> แดง
<br/><input type="checkbox" value="น้ำเงิน" name="color[]"> น้ำเงิน
<br/><input type="checkbox" value="ขาว" name="color[]"> ขาว
<br/><input type="checkbox" value="ดำ" name="color[]"> ดำ
<br/><input type="submit">
</form>
<?php
    isset( $_POST['color'] ) ? $color = $_POST['color'] : $color = array();
    if( !empty( $color ) ) {
        echo "สีที่ชอบ คือ ";
        foreach( $color as $v ) {
            echo $v." ";
        }
    }
?>
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ