【问题标题】:How can get values from select-inputs with the same name using php method POST?如何使用php方法POST从同名的选择输入中获取值?
【发布时间】:2016-12-28 09:27:31
【问题描述】:

我正在尝试做这样的事情:

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];
 } 
?>

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

【问题讨论】:

  • 为什么不给它们起不同的名字,比如 type-1 type-2 type-3?
  • 因为此表单是由 SELECT-SQL 查询生成的。但是我发现了我的错误。我为每个选择输入提供了两个名称,例如:name="type" name="type[]"。

标签: php html arrays select post


【解决方案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 )
  */
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-22
    • 2018-06-27
    • 2021-06-29
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多