2016-12-05 71 views
2

我已经使用HTML和PHP创建了联系表单。此外,邮件正确地发送到邮件ID。但成功后的消息,它是重定向到form.php页面可以有人请帮助我。这是我第一次尝试建立一个网站。如何在提交联系表单后在同一页面中获取成功消息?

这里是我的联系表格代码:

<form method="post" action="form.php"> 
    <input name="name" required="required" placeholder="Your Name"> 
    <input name="email" type="email" required="required" placeholder="Your Email"> 

    <div class="clearfix"> </div> 
    <textarea name="message" cols="20" rows="5" required="required" placeholder="Message"></textarea> 
    <div class="submit"> 
     <input id="submit" name="submit" type="submit" value="Submit"> 
    </div> 
</form> 

这里是我的form.php

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$from = 'From: agriindiaexp.com'; 
$to = '[email protected]'; 
$subject = 'Email Inquiry'; 

$body = "From: $name\n E-Mail: $email\n Message:\n $message"; 

if ($_POST['submit']) { 
    if (mail ($to, $subject, $body, $from)) { 
     $success = "Message successfully sent"; 
    } else { 
     $success = "Message Sending Failed, try again"; 
    } 
} 
?> 

请帮助我。

+1

检查:[http://stackoverflow.com/questions/5826784/how-do-i-make-a-php-form-that-submits-to-self](http://stackoverflow。 com/questions/5826784/how-do-i-make-a-php-form-that-submits-to-self) – Rohit

+0

如果你想不刷新页面,请检查[http://www.codingcage.com/2015 /06/submit-php-form-without-page-refresh-jquery-ajax.html](http://www.codingcage.com/2015/06/submit-php-form-without-page-refresh-jquery- ajax.html) – Rohit

+0

或'

'并将您的表单请求php代码添加到此页 – ixpl0

回答

1

试试这种方法。尝试从ajax发送邮件。请把你的代码像下面

的JavaScript

<script type="text/javascript"> 
    function sendEnquiryform(){ 
     var name=$('#name').val(); 
     var email=$('#email').val(); 
     var message=$('#message').val(); 
     $.post("send_mail.php",'name='+name+'&email='+email'&message='+message,function(result,status,xhr) { 
       if(status.toLowerCase()=="error".toLowerCase()) 
       { alert("An Error Occurred.."); } 
       else { 
        //alert(result); 
        $('#sucessMessage').html(result); 
       } 
      }) 
      .fail(function(){ alert("something went wrong. Please try again") }); 
    } 
</script> 

你的HTML

<form method="post" name="FrmEnquiry" id="FrmEnquiry" action="" onsubmit="sendEnquiryform();"> 
    <input name="name" id="name" required="required" placeholder="Your Name"> 
    <input name="email" id="email" type="email" required="required" placeholder="Your Email"> 

    <div class="clearfix"> </div> 
    <textarea name="message" id="message" cols="20" rows="5" required="required" placeholder="Message"></textarea> 
    <div class="submit"> 
     <input id="submit" name="submit" type="submit" value="Submit"> 
    </div> 
</form> 

<span id="sucessMessage"> </span> 

send_mail.php

<?php 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $from = 'From: agriindiaexp.com'; 
    $to = '[email protected]'; 
    $subject = 'Email Inquiry'; 

    $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 

    if ($_POST['submit']) { 
     if (mail ($to, $subject, $body, $from)) { 
      $success = "Message successfully sent"; 
     } else { 
      $success = "Message Sending Failed, try again"; 
     } 
    } 
?> 

这将显示在您的page.Please您的留言试试这个。这在我的情况下工作正常。

+0

不,它仍然不起作用 –

+0

@BhavyaGvn请尝试上面的代码。 –

+0

现在邮件不来了 –

-1

请使用此代码

<?php 

if ($_POST['submit']) { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $from = 'From: agriindiaexp.com'; 
    $to = '[email protected]'; 
    $subject = 'Email Inquiry'; 

    $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 
    if (mail ($to, $subject, $body, $from)) { 
     $success = "Message successfully sent"; 
    } else { 
     $success = "Message Sending Failed, try again"; 
    } 

    echo $success; 
} 
?> 
1

你可以的形式张贴到相同的页面,并检查是否有成功的消息还有,像这样。

<?php 

if ($_POST['submit']) { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $from = 'From: agriindiaexp.com'; 
    $to = '[email protected]'; 
    $subject = 'Email Inquiry'; 

    $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 
    if (mail ($to, $subject, $body, $from)) { 
     $success = "Message successfully sent"; 
    } else { 
     $success = "Message Sending Failed, try again"; 
    } 
} 
?> 

...other html.... 

<div id="message"><?php if(isset($success)){ echo $message; } ?></div> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <input name="name" required="required" placeholder="Your Name"> 
    <input name="email" type="email" required="required" placeholder="Your Email"> 

    <div class="clearfix"> </div> 
    <textarea name="message" cols="20" rows="5" required="required" placeholder="Message"></textarea> 
    <div class="submit"> 
     <input id="submit" name="submit" type="submit" value="Submit"> 
    </div> 
</form> 

...other html.... 
相关问题