1

我想知道你们是否可以帮助我解决一些看似非常简单的事情,但我不知何故无法让它按照我想要的方式工作。

下面的代码是我为向人们发送电子邮件而编写的。但是 $allEmails 中的每个 emailadres 都收到了 2 封电子邮件,并且数据库也被填充了两次,但是相同的回显只显示一次.....

if($_POST['submitButton'] == "Versturen")
{
    $idcollecte = mysql_query("SELECT yc_collectes.id
                 FROM yc_collectes
                 WHERE yc_collectes.naampubliekecollecte = '$naampubliekecollecte'");
    $fetchidcollecte = mysql_fetch_array($idcollecte);
    $id = $fetchidcollecte['id'];

    $nummer = 1;
    $voornaam1 = $_POST['voornaam1'];
    $achternaam1 = $_POST['achternaam1'];
    $email1 = $_POST['emailadres1'];

    $voornaam2 = $_POST['voornaam2'];
    $achternaam2 = $_POST['achternaam2'];
    $email2 = $_POST['emailadres2'];

    $voornaam3 = $_POST['voornaam3'];
    $achternaam3 = $_POST['achternaam3'];
    $email3 = $_POST['emailadres3'];

    $voornaam4 = $_POST['voornaam4'];
    $achternaam4 = $_POST['achternaam4'];
    $email4 = $_POST['emailadres4'];

    $voornaam5 = $_POST['voornaam5'];
    $achternaam5 = $_POST['achternaam5'];
    $email5 = $_POST['emailadres5'];

    $allvoornamen = array($voornaam1, $voornaam2, $voornaam3, $voornaam4, $voornaam5);
    $allachternamen = array($achternaam1, $achternaam2, $achternaam3, $achternaam4, $achternaam5);
    $allEmails = array($email1, $email2, $email3, $email4, $email5);

    if($allEmails != '')
    {
        $a = 0;

        echo "<pre>";
            print_r($allEmails);;
        echo "</pre>";
        foreach($allEmails as $singleEmail)
        {
            if($singleEmail != '')
            {
                echo '1';

                //Elk emailadres in database stoppen 1x... nu 2x
                mysql_query("INSERT INTO yc_uitnodigingen (emailadres, collecteid)
                                 VALUES ('$singleEmail', $id)");
                //
                $to = $singleEmail;
                if($allvoornamen[$a] == '')
                {
                    $allvoornamen[$a] = 'Meneer/Mevrouw';
                    $allachternamen[$a] = '';
                }


                $subject = 'YouCollect Uitnodiging.';
                $message = ('
                <html>
                <body>
                <h3>Beste '.$allvoornamen[$a].''.$allachternamen[$a].', '.$name.' nodigd u uit voor een Collecte! </h3>
                <table>
                <tr>
                    <td>Dit is het uitnodigingsbericht: </td>
                    <td></td>
                    <td>Om mee te doen aan de collecte dient u op de volgende link te klikken:</td>
                    <td><a href="youcollect.nl/index.php/nl/bedanktmeedoen?naampubliekecollecte='.$naampubliekecollecte.'">Doe mee aan deze collecte!</a></td> 
                </tr>
                </table>
                </body>
                </html>
                    ');
                $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                $headers .= 'MIME-Version: 1.0' . "\r\n";

                mail($to, $subject, $message, $headers);
                $a++;
            }
        }
    }
}

所以我想要的是 $allEmails 中的每个 $singleemail 都收到一封电子邮件,并且数据库被插入一次而不是两次。

有人看到代码有什么问题吗?

致谢

4

0 回答 0