2016-04-11 3 views
0

У меня есть немного, если/другое заявление в Еогеасп, но когда форма ОК-й по электронной почте получает отправить 7 раз из-за Еогеасп ..если/другое в Еогеасп продолжать посылать почту

Как я могу проверить каждую форму но отправить почту только один раз?

вот код:

foreach($required as $field) { 
    if (empty($_POST[$field])) { 
     echo'<script>alert("vul a.u.b. het complete formulier in")</script>'; 
     die(); 
    } else { 
     mail($settings['email'], 'Donateur formulier website', $contents_mail, $headers); 
     header("Location: ".$urlClass->buildUrl(38)); 
    } 
} 

Спасибо!

ответ

0

Вы можете использовать переменную флаг:

$flagSendMail = true; 

foreach($required as $field) { 
    if (empty($_POST[$field])) { 
    $flagSendMail = false; 
    } 
} 

if($flagSendMail){ 
    //Can send 
    mail($settings['email'], 'Donateur formulier website', $contents_mail, $headers); 
    header("Location: ".$urlClass->buildUrl(38)); 
} else { 
    //Validation handling 
} 
+0

Спасибо! Это отлично поработало, и я буду помнить об этом в будущем;) –

0

Вы можете сделать это:

foreach($required as $field) { 
    if (empty($_POST[$field])) { 
     echo'<script>alert("vul a.u.b. het complete formulier in")</script>'; 
     die(); 
    } 
} 

mail($settings['email'], 'Donateur formulier website', $contents_mail, $headers); 
header("Location: ".$urlClass->buildUrl(38)); 

Потому что, если есть обязательное поле, не заполняется, функция die остановит ничего после этого от бежится. Таким образом, mail не запускается, если все поля не заполнены.

+0

Спасибо за ваш ответ! Я использовал решение Daan, но я уверен, что это тоже работает –

0
foreach($required as $field) { 
     if (empty($_POST[$field])) { 
     echo'<script>alert("vul a.u.b. het complete formulier in")</script>'; 
     die(); 
     } else { 
     header("Location: ".$urlClass->buildUrl(38)); 
     } 
    } 
    mail($settings['email'], 'Donateur formulier website', $contents_mail, $headers); 

объяснение, потому что оно не достигнет почты, если сценарий умирает в любом случае

+0

Спасибо за ваш ответ! Я использовал решение Daan, но я уверен, что это работает –

Смежные вопросы