收件箱 - 系统复选框选择邮件

时间:2010-01-28 01:58:59

标签: php sql checkbox inbox

我们目前正在我们的网站中实施收件箱系统,并希望用户能够勾选多个收件箱邮件,然后点击删除链接以批量删除它们。

每个收件箱邮件在数据库中都有自己的ID。

我们需要帮助的是让复选框系统正常工作。我们不知道从哪里开始;我们是否必须给每个人一个ID或用PHP填写一些值 - 我们只是不知道。非常感谢任何帮助。

4 个答案:

答案 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[]

相关问题