【发布时间】:2015-08-14 08:02:29
【问题描述】:
我有一个脚本,可以打印出从 imap 服务器获取的所有收件箱电子邮件。 我添加了一个删除提交按钮,按下该按钮时只需要删除属于该按钮的电子邮件。但是,现在的脚本会在按下任何删除按钮时删除所有电子邮件。下面是一个简化的代码:
<?php
foreach($emails as $email_number) {
?>
<form method="post">
<th class="tg-031e"><input type="submit" name="delete_inbox" value="Delete"></th>
</form>
<?php
if(isset($_POST['delete_inbox'])){
$check = imap_mailboxmsginfo($imap);
echo "Messages before delete: " . $email_number . "<br />\n";
imap_delete($imap, $email_number);
$check = imap_mailboxmsginfo($imap);
echo "Messages after delete: " . $check->Nmsgs . "<br />\n";
imap_expunge($imap);
$check = imap_mailboxmsginfo($imap);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";
}
}?>
关于如何删除通过按删除按钮选择的电子邮件的任何想法?另外为什么我必须刷新页面两次才能看到删除后的更改?
【问题讨论】:
-
您可以使用
<button type="submit" name="delete_inbox" value="number_one_id">Delete</button>并与$id = isset($_POST['delete_inbox']) ? $_POST['delete_inbox'] : null; if ($id) ....核实