首页表格
<form action="calculatepage.php" method="post">
<table width="200" border="1">
<tr>
<td><?php echo $row['dvd_copy_id']?></td>
<td><?php echo $row['dvd_title']?></td>
<td><?php echo $row['price']?></td>
<td><input type="checkbox" value="<?php echo $row['dvd_copy_id']?>" name="checkbox"></td>
</tr>
</table>
<p>
<?php
}
?>
<input type="submit" name="button" id="button" value="Submit" />
</form>
第二页
<?php
echo $_POST['checkbox']; //This shows up if the last checkbox is checked
foreach($_POST['checkbox'] as $value) {
echo print_r($value);
}
?>
它返回错误&#34;警告:在第15行和第34行的C:\ xampp \ htdocs \ test \ calculatepage.php中为foreach()提供的参数无效;在第二页。
如何修复此问题并显示从第一页输入的多个复选框值? 任何帮助将不胜感激。
答案 0 :(得分:0)
用以下内容替换您的线路
点击name="checkbox[]"
<td><input type="checkbox" value="<?php echo $row['dvd_copy_id']?>" name="checkbox[]"></td>
echo print_r($value);
错了。您应该使用print_r();
或var_dump();
作为数组
答案 1 :(得分:0)
表单只会在选中后发布复选框。因此,如果用户没有检查任何内容,它将不会发布任何内容。如果没有发布任何内容,您可以通过插入空数组来轻松解决这个问题。
你需要将名称更改为checkbox[]
,否则它只会发布一个字符串(或没有)。
<input type="checkbox" name="checkbox[]" ... />
$checkboxes = is_array($_POST['checkbox']) ? $_POST['checkbox'] : array();
foreach($checkboxes as $checkbox) {
// ...
}