У меня есть контактная форма внутри цикла 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);
}
}
Других решений пока нет …