2016-12-05 2 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-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.... 
関連する問題