如何使用php方法POST从select-inputs获取具有相同名称的值?

时间:2016-08-21 21:53:27

标签: php html arrays select post

我试图做这样的事情:

HTML

<form action="" method="post">

 <input type="hidden" name="id[]">
 <select name="type[]">
   <option value="0">Option 0</option>
   <option value="1">Option 1</option>
 </select>

 <input type="hidden" name="id[]">
 <select name="type[]">
   <option value="0">Option 0</option>
   <option value="1">Option 1</option>
 </select>

 <input type="hidden" name="id[]">
 <select name="type[]">
   <option value="0">Option 0</option>
   <option value="1">Option 1</option>
 </select>
</form>

PHP

<?php
 for ($i=0; $i < sizeof($_POST['id']) ; $i++) {
  $id[$i] = $_POST['type'][$i];
  echo $id[$i];
 } 
?>

但我能获得的是第一个选择输入值。我怎样才能得到其他人?

1 个答案:

答案 0 :(得分:1)

<form action="#" method="post">

<input type="hidden" name="id[]">
<select name="type[]">
  <option value="0">Option 0</option>
  <option value="1">Option 1</option>
</select>

<input type="hidden" name="id[]">
<select name="type[]">
  <option value="0">Option 0</option>
  <option value="1">Option 1</option>
</select>

<input type="hidden" name="id[]">
<select name="type[]">
  <option value="0">Option 0</option>
  <option value="1">Option 1</option>
</select>

<!-- Add a sumbmit button -->
<input type="submit" value="Go">
</form>

PHP代码:

<?php
  if(!empty($_POST)){

  for ($i=0; $i < count($_POST['id']) ; $i++) {
     $id[$i] = $_POST['type'][$i];
  }
  print_r($id);
  /* 
  Return : Array ( [0] => 0 [1] => 1 [2] => 1 )
  */
}
?>