在我的一个html页面上,我有一个循环,它创建了n个复选框(取决于数据库中有多少条目)。
当用户按下提交按钮时,它会打开另一个html页面,如何设置我的第二页以接收所有打勾的项目。注意,复选框的名称也是未知的,到目前为止我在第一页上有这个:
<form action='tests.php' method='get'>
<p>
<?php
while ($row = mysql_fetch_array($result)) {
print "<tr><td><input type='checkbox' name=".$row{'Info'}." value=".$row{'Info'}.">".$row{'Info'}."<br></td></tr>";
}
?>
</p>
<input type="submit" value="Submit">
</form>
打开tests.php时,如何获取所有经过检查标记的值?
阅读其他帖子,我相信我必须使用数组来获取值,但是,我仍然无法在这里看到如何实现数组。
答案 0 :(得分:7)
将它们放入数组中:
HTML:
<form action='tests.php' method='get'>
<p>
<?php
while ($row = mysql_fetch_array($result)) {
print "<tr><td><input type='checkbox' name='checkbox[".$row{'Info'}."]' value=".$row{'Info'}.">".$row{'Info'}."<br></td></tr>";
}
?>
</p>
<input type="submit" value="Submit">
</form>
PHP:
$checkboxes = $_GET['checkbox']; // this is an array
foreach ($checkboxes as $key => $value) {
// $key is the value of $row{'Info'}
}
应该注意的是,如果您的值中包含括号,则此操作无效,除非您首先使用urlencode()
。