我正在尝试将文本值字段传递到所选的每个复选框的下一页,但我只获取最后的文本字段值,例如:
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>";
}
非常感谢帮助
答案 0 :(得分: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>";
}
答案 1 :(得分: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>";
数组不会在字符串中替换。