0

我正在尝试为每个选中的复选框将文本值字段传递到下一页,但我只获取最后一个文本字段值,例如:

checkbox textfield
selected ABCD
selected ABCDE

我每次只取回 ABCDE

page1.php

echo "<td width='10px'><input name='question[$rowid][]' type='checkbox' value='1' /></td>";
echo "<td width='230px'><input name='newname' type='text' value='$certn'/></td>";

page2.php

foreach ($_POST['question'] as $key => $ans) {
$nn = $_POST['newname'];
echo $key . $nn;
echo "</br>";
}

帮助将不胜感激

4

2 回答 2

2

弄清楚你在这里做什么有点困难,但我认为你的陈述I'm only getting the last text fields value表明了你的问题——你有多个同名的字段。如果您这样做并且不将它们放入数组 ( []) 中,您将只能获得页面上的最后一个值。

我想你想要更像这样的东西:

第 1 页:

echo "<td width='10px'><input name='question[$rowid]' type='checkbox' value='1' /></td>";
echo "<td width='230px'><input name='newname[$rowid]' type='text' value='$certn'/></td>";

第2页:

foreach ($_POST['question'] as $key => $ans) {
  // $_POST['newname'] is now also an array, and the keys should correspond to
  // those in the $_POST['question'] array
  $nn = $_POST['newname'][$key];
  echo $key . $nn;
  echo "</br>";
}
于 2012-05-28T09:25:00.970 回答
0

该行:

echo "<td width='10px'><input name='question[$rowid][]' type='checkbox' value='1' /></td>";

不会被正确解释。您必须将其更改为:

echo "<td width='10px'><input name='" . $question[$rowid][] . "' type='checkbox' value='1' /></td>";

数组不会在字符串中替换。

于 2012-05-28T09:17:22.807 回答