PHP,foreach邮件两次

PHP,foreach邮件两次,php,Php,我想知道你们是否能帮我做一些看起来很简单的事情,但我不知怎么的,我不知道该怎么做 下面的代码是我用来向人们发送电子邮件的代码。 但是$allEmails中的每个emailadres都会收到2封电子邮件,数据库也会被填充两次,但相同if中的回音只显示一次 if($_POST['submitButton'] == "Versturen") { $idcollecte = mysql_query("SELECT yc_collectes.id FROM yc_

我想知道你们是否能帮我做一些看起来很简单的事情,但我不知怎么的,我不知道该怎么做

下面的代码是我用来向人们发送电子邮件的代码。 但是$allEmails中的每个emailadres都会收到2封电子邮件,数据库也会被填充两次,但相同if中的回音只显示一次

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都会收到一封电子邮件,并且数据库会被插入一次而不是两次

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


谢谢你的关心

也许$\u事件后发生两次火灾?代码似乎很清楚。你是如何发布它的?通过ajax还是通过页面重新加载?你的邮件功能在“foreach”中,这会导致问题吗?是的,我现在看到确实有两次触发了$\u post。谢谢你,穆尔德里,我还是想知道。。。我有以下表格,没有看到问题。。。