doutang8098 2014-04-15 00:05
浏览 14
已采纳

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

Im trying to when I click in my sendForm button, I want to send an email for all of my active users.

I have this code below, and I have a While loop to send an email for every emails that I have in my condition (status = active) .

But the email is only sending for my first email in the table and not for every mail that I have.

Somebody there see why this is happening?

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;
    }
}
  • 写回答

1条回答 默认 最新

  • doulu3808 2014-04-15 00:35
    关注

    The issue is that your return; statement is within your while loop.

    The return statement in this particular loop will cause the loop to terminate. In this case, you have placed it as the last statement of the loop and so it will process your first email to send out, then terminate.

    To fix the problem, remove the return; statement completely.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?