2016-04-08 6 views
-2

Я хочу послать данные формы с помощью Ajax после проверкиОтправить форму (PHP) данных с помощью Ajax

О проверке все думают, что поработаем

но о передачи данных у меня есть некоторые проблемы

Ajax код :

function submitForm(){ 
 

 
    var server = 'http://localhost/test'; // Your PHP file 
 
    var commentName = $('#commentName').val(); // The values of your form 
 
    var commentMail = $('#commentMail').val(); // The values of your form 
 
    var commentPhone = $('#commentPhone').val(); // The values of your form 
 
    var comment = $('#comment').val(); // The values of your form 
 

 
    $.ajax({ // Here the magic starts 
 
     url: server+"/contact.php", // Where this function will send the values 
 
     type:"POST", // To get the status of your php file 
 
     data: "action=insertNews&commentName="+commentName+"&commentMail="+commentMail+"&commentPhone="+commentPhone+"&comment="+comment, // The values 
 
     success: function (data){ // After sending the values to your php file you will receive number 1 or 2, if you receives number 1 it means sucess, but if you receives number 2 it means fail. 
 
      if(data == '1'){  
 
       alert("Is send"); 
 
      } 
 
      else{ 
 
       alert("Oop"); 
 
      } 
 
     } 
 
    }); 
 
}

код PHP и HTML:

<?php 
 
if(isset($_POST['submit'])){ 
 
$message = ''; 
 
$email = ''; 
 
$name =''; 
 

 

 
$message = $_POST['name']; 
 
$email = $_POST['mail']; 
 
$name = $_POST['phone']; 
 

 
$to = "[email protected]"; 
 

 
$subject = 'New Message'; 
 

 
$message = " Le nom : ".$name."<br><br>".$message."<br><br> Email : ".$email; 
 

 
$header = "$email"; 
 

 
if(mail($to, $subject, $message, $header)){ 
 
    echo '1'; 
 
} 
 
else{ 
 
    echo '2'; 
 
}} 
 
?> 
 
<html> 
 
\t <head> 
 
\t \t <title>Test</title> 
 
\t \t <meta charset="UTF-8"> 
 
\t \t <script type="text/javascript" src="js.js"></script> 
 
\t \t <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
\t </head> 
 
\t <body onload="randNums()"> 
 
\t \t <form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>"> 
 
\t \t \t <input id="commentName" onkeyup="validateName()" name="name" type="text" placeholder="Name"><label id="commentNamePrompt"></label><br> 
 
\t \t \t <input id="commentMail" onkeyup="validateMail()" name="mail" type="text" placeholder="Mail"><label id="commentMailPrompt"></label><br> 
 
\t \t \t <input id="commentPhone" onkeyup="validatePhone()" name="phone" type="text" placeholder="Phone"><label id="commentPhonePrompt"></label><br> 
 
\t \t \t <textarea id="comment" onkeyup="validateComment()" name="commente" placeholder="Messege here"></textarea><label id="commentPrompt"></label><br> 
 
\t \t \t <span id="digit1"></span> + 
 
\t \t \t <span id="digit2"></span> = 
 
\t \t \t <input id="captcha" size="2" onkeyup="validateCaptcha()"><label id="captchaPrompt"></label><br> 
 
\t \t </form> 
 
\t <button name="submit" onclick="validateCommentForm()" > Send</button><label id="commentFormPrompt"> </label> 
 
\t </body> 
 
</html>

Я хочу знать, что это правильно? и если у меня проблема, вы можете исправить?

+0

Есть ли здесь конкретный вопрос? – larsAnders

+0

@larsAnders проблема Все думает правильно, но я всегда предупреждаю, что сказал «Ooops». Итак, я прошу профессиональных людей сказать мне, что это мой код, и проблема на сервере, или у меня проблема в моем code – sayou

+0

Прежде всего, почтовая функция не будет работать для localhost. во-вторых, предоставить действительное письмо вместо 'test @ test.com' –

ответ

1

вставки die после эхо-ответа:

if(mail($to, $subject, $message, $header)){ 
    echo '1'; 
} 
else{ 
    echo '2'; 
} 
die; 
} 

и в AJAX ответ, подрезать строку данных вы получите:

if(data.trim() == "1"){ 
    alert("Is send"); 
} 
+0

не работает: '(, любая другая помощь? – sayou

0

Просто используйте данные отправляемые этого формата

data:{action:'insertNews',commentName:commentName,commentMail:commentMail}, 
0

Попробуйте изменить свой PHP-код:

<?php 
if(isset($_POST['submit'])){ 
$phone= ''; 
$email = ''; 
$name =''; 
$commente= $_POST['commente']; // not used anywhere 

$name= $_POST['name']; 
$email = $_POST['mail']; 
$phone= $_POST['phone']; 

$to = "[email protected]"; 

$subject = 'New Message'; 

$message = " Le nom : ".$phone."<br><br>".$name."<br><br> Email : ".$email; 

$header = $email; 

if(mail($to, $subject, $message, $header)){ 
    echo '1'; 
} 
else{ 
    echo '2'; 
}} 
?> 
+0

@sayou, вы можете проверить мой ответ. Также дайте мне знать, решает ли она вашу проблему или нет – Nehal

+0

не работает какая-либо другая помощь? У меня проблема в коде ajax – sayou

+0

@sayou wat точно выдает обращение к ur в ajax – Nehal

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