在循环中单独与一个对象交互
问题描述:
我在while循环中有一个联系表单,它将向while循环中显示的用户发送电子邮件。但是,通过这种结构,我会发送一封电子邮件给循环中的所有对象。在这种情况下,我不知道如何逃避while循环。在循环中单独与一个对象交互
... while($row = $sql->fetchObject()){
... echo $row->userMail;
echo '<form ...><input name="contactMail"><...submit></form>';
if(isset($_POST['visitorMail']{
mail($toUserMail,$subject,$body_containsVisitorMail,$headers);
//this will send an email to all "objects" displayed in within the while loop -> problem
}
}
答
,我想你需要与当前检查的$_POST['contactMail']
值迭代之一:
while($row = $sql->fetchObject()){
echo $row->mail;
echo '<form ...><input name="contactMail" value="' . $row->mail . '"><...submit>
<input type="hidden" name="itemId" value="' . $row->id . '"></form>';
if(isset($_POST['contactMail']) && $_POST['itemId'] == $row->id) {
mail($toRowMail,$subject,$body,$headers);
}
}
不要把目标地址的形式。它将被用作垃圾邮件网关。此外,您似乎将表单本身与处理其内容的代码混合在一起,没有多大意义。 – Synchro