2016-05-26 3 views
1

Я просто вдаваюсь в кодирование и собираю веб-страницу с помощью Dreamweaver. Я создал php-страницу с моим почтовым кодированием, которое выполняется из формы и кнопки отправки на странице html. Я постоянно получаю пустые электронные письма на ежедневной основе, что, по-видимому, означает, что мне нужно добавить кодирование проверки. Я попытался добавить кодировку, но проблема не устранена. Страница по-прежнему отправляется, даже если форма пуста.Как проверить отправку электронной почты на php?

Ниже приведено мое текущее кодирование.

<?php 
 

 
if(!filter_var($_POST['CustomerEmail'], FILTER_VALIDATE_EMAIL)) { $valerrors[] = "The email address you supplied is invalid." ;} 
 
$customeremail=$_POST['CustomerEmail']; 
 
$email='[email protected]'; 
 
$custfirst=$_POST['CustomerFirstName']; 
 
$custlast=$_POST['CustomerLastName']; 
 
$custphone=$_POST['CustomerNumber']; 
 
$custaddress=$_POST['CustomerAddress']; 
 
$custcity=$_POST['CustomerCity']; 
 
$custstate=$_POST['CustomerState']; 
 
$custrequest=$_POST['CustomerService']; 
 

 
$subject='Service Request'; 
 

 
$body = <<<EOD 
 
<br><hr><br> 
 
Email: $customeremail <br> 
 
First Name: $custfirst <br> 
 
Last Name: $custlast <br> 
 
Phone: $custphone <br> 
 
Address: $custaddress <br> 
 
City: $custcity <br> 
 
State: $custstate <br> 
 
Request: $custrequest <br> 
 
EOD; 
 

 

 

 
$headers = "From: $customeremail\r\n"; 
 
$headers .= "Content-type: text/html\r\n"; 
 
$Send = mail($email, $subject, $body, $headers); 
 
$confirmation = <<<EOD 
 
<html>"Thanks for Submitting."</html> 
 
EOD; 
 
echo"$confirmation"; 
 

 

 

 
?>

Вполне возможно, что я размещения, если заявление в неправильном месте. Может ли кто-то исправить мое кодирование, чтобы страница подтверждения не загружалась, и письмо не будет отправлено, если электронная почта клиента оставлена ​​пустой?

ответ

0

Вы можете инициализировать $valerrors = []; в начале и использовать условие, такое как:

if (empty($valerrors)) { 
    $headers = "From: $customeremail\r\n"; 
    $headers .= "Content-type: text/html\r\n"; 
    $Send = mail($email, $subject, $body, $headers); 
    $confirmation = <<<EOD 
    <html>"Thanks for Submitting."</html> 
    EOD; 
} 

Обратите внимание, что вы должны применять аналогичную проверку для всех пользовательских входов.

0

Я думаю, что и может добавить «необходимый» атрибут для вашей электронной почты ввода в вашей форме Html

<input type="email" name="CustomerEmail" required> 

Так Html не позволит вам представить, пока вы не предоставите значение

+1

Спасибо! Пока это помогло. Я не знаю, как я забыл такую ​​простую команду. Я не уверен, что это остановит автоматические электронные письма, которые я постоянно получаю ежедневно. Мне придется подождать. Еще раз спасибо. – DViera