Почему все изображения qrcode отправляются пользователю, один пользователь должен получить изображение qrcode - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть скрипт PHP, который будет использоваться для отправки электронных писем на все данные электронной почты из базы данных.Когда я отправляю электронные письма всем пользователям, я генерирую QR-код для отправки каждому пользователю.

Но проблема в том, что каждый пользователь принимает все существующие QR-коды.Каждый пользователь должен получить одно изображение QR-кода.

Вот скрипт:

if($email_list == "semua"){
    $query_email_list = mysqli_query($koneksi, "SELECT email FROM pengunjung");

    while($data_email = mysqli_fetch_array($query_email_list)){
        QRCode::png($data_email['email'], $tempdir. $data_email['email'].".png", $quality, $ukuran, $padding);
        $mail_body .= "<br><br><img src='http://besp.ga/prudential/admin/qr_code_generator/temp/".$data_email['email'].".png'>";
        $sent = mail($data_email['email'], $mail_subject, $mail_body, $mail_headers);
    }
}else{
    QRCode::png($data_email['email'], $tempdir. $email_list.".png", $quality, $ukuran, $padding);
    $mail_body .= "<br><br><img src='http://besp.ga/prudential/admin/qr_code_generator/temp/".$email_list.".png'>";
    $sent = mail($email_list, $mail_subject, $mail_body, $mail_headers);
}

1 Ответ

0 голосов
/ 25 февраля 2019

Вы итерируете пользователей и на каждой итерации вы добавляете новый бит с qrcode в тело письма.Таким образом, первый пользователь имеет тело письма с одним qrcode, второй пользователь - с двумя, третий - с тремя и т. Д.

Вам нужно изменить цикл на что-то вроде этого:

    while($data_email = ...){
        QRCode::png($data_email['email'], $tempdir. $data_email['email'].".png", $quality, $ukuran, $padding);
        $qrcode_body = "<br><br><img src='http://server/path/to/".$data_email['email'].".png'>";
        $sent = mail($data_email['email'], $mail_subject, $mail_body . $qrcode_body, $mail_headers);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...