我们目前正在我们的网站中实施收件箱系统,并希望用户能够勾选多个收件箱邮件,然后点击删除链接以批量删除它们。
每个收件箱邮件在数据库中都有自己的ID。
我们需要帮助的是让复选框系统正常工作。我们不知道从哪里开始;我们是否必须给每个人一个ID或用PHP填写一些值 - 我们只是不知道。非常感谢任何帮助。
答案 0 :(得分:3)
您可以为所有复选框指定相同的名称,以[]结尾,以及不同的值,如下所示:
<input type="checkbox" name="deletemessage[]" value="367"/>
<input type="checkbox" name="deletemessage[]" value="394"/>
<input type="checkbox" name="deletemessage[]" value="405"/>
这样,当提交表单时,PHP会将所有选定的值放入$ _POST中的数组中。因此,如果在上面的示例中选中了顶部和底部复选框,$ _POST ['deletemessage']将包含[367,405]
答案 1 :(得分:1)
<input type="checkbox" name="check[]" value=1 />
<input type="checkbox" name="check[]" value=2 />
<input type="checkbox" name="check[]" value=3 />
<input type="checkbox" name="check[]" value=4 />
<input type="checkbox" name="check[]" value=5 />
这将返回一个你可以循环的数组。
<?php
foreach ($_POST["check"] as $value)
{
echo "message id: $value";
}
?>
关于安全性的说明,您需要确保消息ID与尝试删除邮件的用户相关联。
答案 2 :(得分:1)
xHTML表单
<input type="checkbox" name="record[]" value="1" />
<input type="checkbox" name="record[]" value="2" />
<input type="checkbox" name="record[]" value="3" />
<input type="checkbox" name="record[]" value="4" />
PHP
<?php
foreach ($_POST['record'] AS $id) {
$id = (int)$id; // Force to integer (little of security)
// Delete the record
mysql_query("DELETE FROM `table` WHERE `id` = {$id}");
}
?>
答案 3 :(得分:0)
首先给所有复选框添加相同的名称,最后加上方括号[{1}}
当您提交表单(作为POST)时,请执行somename[]