簡體   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