2016-12-05 1 views
2

J'ai créé le formulaire de contact en HTML et PHP. En outre, le courrier arrive correctement à l'ID de messagerie. Mais après le message de succès, il redirige vers la page form.php quelqu'un peut m'aider s'il vous plaît. C'est la première fois que j'essaie de créer un site web.Comment obtenir le message de succès dans la même page après avoir envoyé le formulaire de contact?

Voici mon code pour le formulaire de contact:

<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> 

voici mon 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"; 
    } 
} 
?> 

S'il vous plaît aidez-moi. Essayez ceci de la manière suivante:

+1

Vérifiez: [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-soumets-to-self) – Rohit

+0

Si vous le souhaitez sans actualisation de la page, vérifiez [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

ou '

' et ajoutez votre demande de formulaire php à cette page – ixpl0

Répondre

1

essayez d'envoyer du courrier à partir d'un ajax. S'il vous plaît écrire votre code comme ci-dessous

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> 

Votre 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"; 
     } 
    } 
?> 

cela affichera votre message dans votre page.Please essayer. Cela fonctionne bien dans mon cas.

+0

non il ne fonctionne toujours pas –

+0

@BhavyaGvn s'il vous plaît essayer le code ci-dessus. –

+0

maintenant le courrier ne vient pas –

-1

S'il vous plaît utiliser ce code

<?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

Vous pouvez poster le formulaire à la même page et vérifier un message de succès là-bas, comme celui-ci.

<?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....