2015-01-26 4 views
-3

Я знаю, что есть тонна решений этой проблемы, но мне нужно проверить электронную почту в контактной форме.php, проверьте, действительно ли почта

это мой PHP почтовик до сих пор:

<?php 
if (isset($_POST['send'])){ 
    $to = "[email protected]"; 
    $subject = "new message"; 
    $firstname = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $headers = "From: $email"; 
    $sent = mail($to, $subject, $message, $headers) ; 
    if($sent) 
    {echo "<script>alert('thanks for the message:) ');</script>"; 
    }else 
     {echo "<script>alert('sorry, message wasn't send');</script>"; } 
    } 
?> 

Я попытался с filter_var

$result = filter_var('[email protected]', FILTER_VALIDATE_EMAIL); 

, но не работает.

Если мой способ послала почту через контактную форму не «наилучшая практика способ» не стесняйтесь исправлять меня и отправить меня на правильном пути: D

+0

возможно дубликат [Validate Email в PHP] (http://stackoverflow.com/questions/3499192/validate -email-in-php) –

+2

Почему 'filter_var' не работает? – Mischa

+0

поместите 'error_reporting (E_ALL);' и проверьте, есть ли какая-либо ошибка –

ответ

0

Если вы показать нам свой HTML, мы можем помочь в дальнейших , но с помощью всего лишь нашего PHP нам не с чем работать.

Добавить error_reporting(E_ALL); и ini_set('display_errors', 1); в начало страницы вашего php, чтобы печатать ваши ошибки.

Я не уверен, что вызывает ошибки. Но я хотел бы, чтобы вы попробовали следующий код. Замените оператор if этим.

будущего примечание, чтобы добавить яваскрипт предупреждения в PHP вы должны отформатировать его таким образом,

if(mail($to, $subject, $message, $headers)) 
{ 
    echo '<script language="javascript">'; //echo open tag 
    echo 'alert("Your message has been sent")'; // echo alert 
    echo '</script>'; //echo close tag 
}else{ 
    echo '<script language="javascript">'; 
    echo 'alert("Your message was not successful")'; 
    echo '</script>'; 
} 
+0

Спасибо :) Я отредактирую, как только я вернусь домой! –

+0

Ваш прием, попробуйте заменить весь ваш оператор if и отправить по электронной почте нижний код php на этот ответ. Если у вас есть какие-либо ошибки, пожалуйста, отправьте ответ. –

+0

Если это не работает для ваших нужд, ознакомьтесь с главным ответом здесь http://stackoverflow.com/questions/5855811/how-to-validate-an-email-in-php –

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