2015-05-11 3 views
0

Я создал простую форму контакта AJAX, JQuery, PHP на своем веб-сайте со входами: именем, электронной почтой и сообщением. Проблема в том, что когда вы пишете фактическую электронную почту в поле электронной почты, сообщение никогда не приходит в мой почтовый ящик. Он работает только тогда, когда поле ввода электронной почты содержит 1 слово без знака @.Контактный формуляр AJAX - не работает должным образом

Мой HTML:

<p class="form">Name</p> 
<input type="text" name="userName" id="userName"> 
<p class="form">Email</p> 
<input id="userEmail" type="email" name="userEmail"> 
<p class="form">Message</p> 
<textarea id="msg" name="msg"></textarea><button onClick="sendContact();"></button> 

Мои JavaScript:

function sendContact() { 

    jQuery.ajax({ 
     url: "contact_me.php", 
     data:'userName='+$("#userName").val()+'&userEmail='+ 
     $("#userEmail").val()+'&msg='+ 
     $("#msg").val(), 
     type: "POST", 
     success:function(){ 
      sendSuccess(); 
     }, 
     error:function(){} 
    }); 
}; 

Мой PHP:

<?php 
$to = "[email protected]"; 
$from = $_POST['userEmail']; 
$name = $_POST['userName']; 
$subject = $name . "has sent you a message from .design"; 
$message = $name . " wrote the following:" . "\n\n" . $_POST['msg']; 
$headers = "From:" . $from; 

mail($to,$subject,$message,$headers);?> 

Любая идея, что может быть проблема, пожалуйста?

+0

Возможный дубликат [Что случилось с моей контактной формой AJAX? (php mail())] (http://stackoverflow.com/questions/4260455/whats-wrong-with-my-ajax-contact-form-php-mail) – sevenforce

+0

Проверено, что статья, ни одна из них, похоже, не решена мой вопрос. – user1207524

+0

Пожалуйста, проверьте ссылку: -http: //stackoverflow.com/questions/24644436/php-mail-form-doesnt-complete-sending-e-mail –

ответ

1

Попробуйте изменить способ передачи данных в Ajax. Пример:

function sendContact() { 
    jQuery.ajax({ 
     url: "contact_me.php", 
     data: { userName: $("#userName").val(), userEmail: $("#userEmail").val(), msg: $("#msg").val()}, 
     type: "POST", 
     success:function(){ 
      sendSuccess(); 
     }, 
     error:function(){} 
    }); 
}; 
+0

Это будет правильно кодировать значения post, что было исходной проблемой. 'data' должен быть объектом, строкой или массивом и' он преобразуется в строку запроса, если не уже строка'. – skobaljic

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