การ Submit ฟอร์มในรูป แอเรย์

การใช้งานฟอร์มในรูป Array ทั้งการสร้างฟอร์ม และการรับค่า

<?
  $menu=$_POST[menu];
  
  echo $menu[0]."<br />";
  echo $menu[1]."<br />";
?>
<form method="post" action="?">
<select name="menu[]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="menu[]">
<option value="1.1">1.1</option>
<option value="1.2">1.2</option>
<option value="1.3">1.3</option>
</select>
<input type="submit" name="submit" />
</form>

เราสามารถกำหนด name ให้กับคอนโทรลชนิดเดียวกันบนฟอร์มในรูป array ได้ครับ ด้วยการเติม [] ต่อท้ายชื่อ ค่าที่รับมาก็จะเป็นรูป แอเรย์แล้ว เช่นตัวอย่างข้างบน

<?
  $check = $_POST[check];
  for ($i = 0; $i < count($check); $i++) {
    echo $check[$i]."<br />";
  }
?>
<form method="post" action="?">
<input type="checkbox" name="check[]" value="ch1" />ch1
<input type="checkbox" name="check[]" value="ch2" />ch2
<input type="checkbox" name="check[]" value="ch3" />ch3
<input type="submit" name="submit" />
</form>

สำหรับคอนโทรลทั่วๆไปจะคืนค่า value ของแต่ละคอนโทรลตามลำดับครับ แต่หากเป็น checkbok แล้วจะคืนค่าเฉพาะรายการที่ถูก check เท่านั้น
ผู้เขียน goragod โพสต์เมื่อ 02 เม.ย. 2551 เปิดดู 7,264 ป้ายกำกับ PHPForm
^