如何从未知数量的复选框中获取信息

时间:2014-06-06 13:15:13

标签: php html

在我的一个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时,如何获取所有经过检查标记的值?

阅读其他帖子,我相信我必须使用数组来获取值,但是,我仍然无法在这里看到如何实现数组。

1 个答案:

答案 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()