繁体   English   中英

While Loop为许多用户发送电子邮件中的问题

[英]Issue in While Loop sending email for many users

我试图在单击sendForm按钮时向所有活动用户发送电子邮件。

我在下面有此代码,并且我有一个While循环,用于为我处于状态(status = active)的每封电子邮件发送一封电子邮件。

但是,该电子邮件仅发送给我在表中的第一封电子邮件,而不是发送给我的每封邮件。

那里有人知道为什么会这样吗?

if(isset($_POST['sendForm']))
{
    $verifyUser= $pdo->prepare("SELECT * FROM users WHERE status = ?");  
    $verifyUser->bindValue(1, 'active');
    $verifyUser->execute();
    $verifyUserRows= $verifyUser->rowCount();

    if($verifyUserRows<= '0')
    {
    echo 'there are no active warnings'; 
    }

  else
  {
    while ($verifyUserResult= $verifyUser->fetch(PDO::FETCH_ASSOC)) 
    {
    $date = date('d/m/Y H:i');
    $msg = " 

    Hi, this is my message!

    Send at $data
    ";

    sendMail('My subject',$msg,MAILUSER,$verifyUserResult['email']);
    echo 'Email sent with sucess'; 
    return;
    }
}

问题是您的退货; 语句在while循环中。

此特定循环中的return语句将导致循环终止。 在这种情况下,您将其放置为循环的最后一条语句,因此它将处理您的第一封电子邮件以发送出去,然后终止。

要解决此问题,请去除退货; 完全声明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM