Php 在while循环中单独与一个对象交互

Php 在while循环中单独与一个对象交互,php,sql,while-loop,phpmailer,Php,Sql,While Loop,Phpmailer,我在while循环中有一个联系人表单,它将向while循环中显示的用户发送电子邮件。但是使用这种结构,我会向循环中的所有对象发送一封电子邮件。在这种情况下,我不知道如何避开while循环 ... while($row = $sql->fetchObject()){ ... echo $row->userMail; echo '<form ...><input name="contactMail"><...submit>&

我在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

   }
}
。。。而($row=$sql->fetchObject()){
…echo$row->userMail;
回声';
如果(isset($_POST['visitorMail']{
邮件($toUserMail,$subject,$body_containsVisitorMail,$Header);
//这将向while循环->问题中显示的所有“对象”发送电子邮件
}
}

我想您需要用当前迭代的值检查
$\u 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);
    }
}
while($row=$sql->fetchObject()){
echo$row->mail;
回声'
';
如果(设置($\u POST['contactMail'])&&&$\u POST['itemId']==$row->id){
邮件($toRowMail、$subject、$body、$headers);
}
}

我想您需要用当前迭代的值检查
$\u 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);
    }
}
while($row=$sql->fetchObject()){
echo$row->mail;
回声'
';
如果(设置($\u POST['contactMail'])&&&$\u POST['itemId']==$row->id){
邮件($toRowMail、$subject、$body、$headers);
}
}

谢谢,但输入字段实际上是供访问者输入他们的电子邮件地址。因此“contactMail”和“$row->mail”是两个不同的地址。contactMail只是用于$body。那么为什么要在while循环中发送电子邮件呢?请检查
如果($\u POST[''))
while
循环之后。我应该如何知道要向哪个对象发送电子邮件。假设我有几个对象显示在while循环中。对于每个对象,都有一个额外的表单要发送电子邮件。我需要一种方法来检查用户提交的表单。使用
id
或其他一些不匹配项向每个表单添加一个隐藏字段ique字段。检查此传递字段的值是否等于当前值。更新了我的脚本,请检查它。谢谢,但输入字段实际上是供访问者输入其电子邮件地址的。因此“contactMail”和“$row->mail”是两个不同的地址。contactMail只用于$body。那么为什么要在while循环中发送电子邮件?检查
 如果($_POST[“”])
while
循环之后。我应该如何知道要向哪个对象发送电子邮件。假设我有几个对象显示在while循环中。对于每个对象,都有一个额外的表单要发送电子邮件。我需要一种方法来检查用户提交的表单。使用
id
或其他一些不匹配项向每个表单添加一个隐藏字段ique字段。检查此传递字段的值是否等于当前值。更新我的脚本,检查它。不要将目标地址放入表单中。它将被利用为垃圾邮件网关。此外,看起来您将表单本身与处理其内容的代码混在一起,没有多大意义。不要将目标地址放入fo中它将被利用作为垃圾邮件网关。而且它看起来像是你将表单本身与处理其内容的代码混合在一起,没有多大意义。