非常感谢您查看此问题。用户在我的网站上有一个简单的电子邮件系统。下面是一段代码,它是一个foreach循环,用于拉出用户收件箱中的每封电子邮件,并显示主题和作者等。我有一个删除复选框,可以与每个邮箱一起使用。我很难看到如何捕获已在POST请求中选择删除的电子邮件。我在想它可能涉及阵列但不确定。所有选中的复选框都具有相同的'删除'所以它应该很容易,但我无法找到解决方案
<!-- LOOPING THROUGH ALL THE RESPONSES TO THE GIVEN THREAD -->
<?php foreach($messages as $message):?>
< div class="message_strip">
<table>
<tr>
<td>
<?php $id = $message->sender_id;?>
<img style="width:30px; margin:2px;"
src="../<?php echo grab_thread_thumbnail($message->sender_id); ?>"/>
</td>
<td>
<div>
<?php echo $message->style_email($message->message_id);?>
<div class="sender">
<?php $user=User::find_by_id($message->sender_id);
echo htmlentities($user->first_name);?> wrote on
<?php echo datetime_to_text($message->time); ?>
</div>
</td>
<form action="message_folder.php" method="post">
<td class="delete_checkbox">
<input type="checkbox" class="cb-element" name="delete" value="delete">
</td>
</form>
</tr>
</table>
</div>
</a>
<?php endforeach; ?>
答案 0 :(得分:0)
不要将复选框输入包装在表单标记中。将整个foreach
包裹在表单标记中,您需要一个提交按钮。
假设你想要message_id
:
<input type="checkbox" class="cb-element" name="delete[]" value="<?=$message->message_id ?>">
然后,您将在message_ids
中检查$_POST['delete']
数组。
答案 1 :(得分:0)
您需要为每个复选框指定一个唯一的名称,例如name ='delete [$ message-&gt; sender_id]',然后迭代POST的数组。