如何在循环中生成名称字段的表单?

时间:2011-06-21 04:37:41

标签: php post

我太近了!!

我无法弄清楚如何发布这些值。这就是我所拥有的:

<form action="process.php" method="post">
  <?php 
  foreach (array_combine($UndefinedEvents, $EventDates) as $event=>$dates){
  echo "This Event does not have a Timeline associated with it: " .$event . " on ".$dates. '<br>';
  echo "Choose a Timeline:<br>";
  ?>
  <?php echo "<select name=".$EventID[$i].">"; ?>
  <option selected = "selected"></option>
  <?php foreach (array_combine($TimelineID, $UserTimelines) as $temptimelineID=>$timeline){ 
        echo "<option value=".$temptimelineID."> ".$timeline. "</option>";

  }
  echo " </select><br><br>";
  $i = $i+1;
  }
  ?>
  <input type="submit" />
  </form>

上面发生了很多事情,但是标记给了我想要的东西。以下是上述内容的示例:

<form action="processGoogle.php" method="post">
  This Event does not have a Timeline associated with it: 
  First Event on 2011-07-01 00:00:00
  <br>
  Choose a Timeline:
  <br>
  <select name=3576> //THIS is $eventID
    <option selected = "selected">    </option>
    <option value=257> Timeline One   </option>
    <option value=258> Timeline Two   </option>
    <option value=259> Timeline Three </option> 
  </select>
  <br>
  <br>
  This Event does not have a Timeline associated with it: 
  Next Event on 2011-06-30 00:00:00
  <br>
  Choose a Timeline:
  <br>
  <select name=3573>//THIS is $eventID
    <option selected = "selected">    </option>
    <option value=257> Timeline One   </option>
    <option value=258> Timeline Two   </option>
    <option value=259> Timeline Three </option> 
  </select>
  <br>
  <br>
  ...
  <input type="submit">
</form>

我需要做的是发布$EventID$temptimelineID的值。

我需要做些什么才能在帖子中传递这些信息,以及我需要在process.php表格中阅读哪些信息?

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

看起来你有变量$ _POST。尝试

$x = array_keys($_POST);
foreach($x as $y) {
echo $y ." = ". $_POST[$y]."<br/>";
}

答案 1 :(得分:0)

要只看到$ _POST超全局的值,简单地写一下会更容易:

print "<pre>"; var_dump($_POST); print "</pre>";

也就是说,有几种方法可以传递哪些字段是机器生成的。

选项1)为字段指定唯一的前缀,例如:

<select name="timeline_3576"> //THIS is $eventID

然后,只需要查看适当前缀的$ _POST值,在下划线上展开字符串并获取第二个值。鲍勃是你的叔叔。

选项2)构建一个数组并将其传递给隐藏字段。

<select name="3576"> //code snipped
<select name="9999"> //code snipped
<input type="hidden" name="timelines" value="3576,9999">