2016-04-14 5 views
0

Я пытаюсь интегрировать этот PHP код на контактную форму, все HTML входы хорошо, должно быть ошибка в скрипте PHP, вот код:PHP контактная форма ошибка отправки почты

<?php 
$to = '[email protected]; 
$subject = 'New Website Message'; 
$headers = 'From: (Website Form) <POST['email']>' . "\r\n" . 'Content-type: text/html; charset=utf-8'; 
$message = ' 
<html> 
    <head> 
     <title>You have received a new message!</title> 
    </head> 
    <body> 
     <h3>Name: <span style="font-weight: normal;">' . $_POST['name'] . '</span></h3> 

     <h3>Email: <span style="font-weight: normal;">' . $_POST['email'] . '</span></h3> 

     <div> 
      <h3 style="margin-bottom: 5px;">Message:</h3> 
      <div>' . $_POST['message'] . '</div> 
     </div> 
    </body> 
</html>'; 

if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message'])) { 
    if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     mail($to, $subject, $message, $headers) or die('<span style="color: red;">Error sending Mail</span>'); 
     echo '<span class="send-true" style="color: #00dd63;">Your email was sent!</span>'; 
    } 
} else { 
    echo '<span style="color: red;">All fields must be filled!</span>'; 
} 
?> 
+0

'' должны быть '$ _POST [ 'электронная почта']' –

ответ

2

Кажется как у вас синтаксическая ошибка. попробовать это один:

<?php 
$to = '[email protected]'; 
$subject = 'New Website Message'; 
$headers = 'From: (Website Form) <$_POST['email']>' . "\r\n" . 'Content-type: text/html; charset=utf-8'; 
$message = ' 
<html> 
    <head> 
     <title>You have received a new message!</title> 
    </head> 
    <body> 
     <h3>Name: <span style="font-weight: normal;">' . $_POST['name'] . '</span></h3> 

     <h3>Email: <span style="font-weight: normal;">' . $_POST['email'] . '</span></h3> 

     <div> 
      <h3 style="margin-bottom: 5px;">Message:</h3> 
      <div>' . $_POST['message'] . '</div> 
     </div> 
    </body> 
</html>'; 

if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message'])) { 
    if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     mail($to, $subject, $message, $headers) or die('<span style="color: red;">Error sending Mail</span>'); 
     echo '<span class="send-true" style="color: #00dd63;">Your email was sent!</span>'; 
    } 
} else { 
    echo '<span style="color: red;">All fields must be filled!</span>'; 
} 
?> 
+0

Спасибо это сработало. –

+0

Я не могу отправить редактирование, потому что мое редактирование меньше шести символов, но в конце объявления переменной $ в формулу отсутствует пропущенная цитата. Это, безусловно, вызовет синтаксическую ошибку. Это также происходит в OP –

+0

, но некоторые цитаты отсутствуют в '$ _POST ['name']' –

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