2017-08-14 3 views
-3

Ich habe ein PHP-Formular bereit, mit Erfolg Nachricht nach dem Formular gesendet wird. Tatsache ist, dass die Nachricht angezeigt wird, nachdem die Seite an die phpmailer.php weitergeleitet wurde.PHP Mailer "Danke" Nachricht nach dem Formular gesendet

Wie kann ich die Nachricht anzeigen, nachdem der Benutzer auf Senden klickt? Mein letztes Ziel ist es, das Formular verschwinden zu lassen und stattdessen die Dankesnachricht zu zeigen.

<?php session_start(); 
if(isset($_POST['Submit'])) { 
$youremail = '[email protected]'; 
$fromsubject = 'domain-here.com'; 
$name = $_POST['name']; 
$mail = $_POST['mail']; 
$message = $_POST['message']; 
    $to = $youremail; 
    $mailsubject = 'Masage recived from'.$fromsubject.' Contact Page'; 
    $body = $fromsubject.' 

    The person that contacted you is '.$name.' 
    E-mail: '.$mail.' 

    Message: 
    '.$message.' 

    |---------END MESSAGE----------|'; 
echo "Thank you fo your feedback."; 
           mail($to, $subject, $body); 
} else { 
echo "You must write a message"; 
} 
?> 

Hier ist der PHP-Code:

Vielen Dank im Voraus!

+0

Zeigen Sie die Nachricht in einem Javascript-Alarm aus Ihrem Mailer-Code. Mittel ersetzen "Echo" Vielen Dank für Ihr Feedback. "; 'mit einer Javascript-Warnung. –

Antwort

0

Verwenden Sie AJAX in Ihrer E-Mail-Seite, damit die Prozessseite von der Schreibseite getrennt ist. Nach Benutzer klickt auf ‚Senden‘, schreiben die Daten an die Prozessseite und reagieren mit einer Textnachricht oder JSON-Daten, und die Meldung auf der Schreibseite

$.ajax({ 
    url: 'your-url-to-send-mail-page', 
    type: 'POST', 
    data: maildata, 
    async: true, 
    dataType: 'text', 
    processData: false, 
    success: function(data) { 
     alert(data); 
    }, 
    error: function(data) { 
     alert('An error occurs!'); 
    } 
}); 

------ ---- UPDATE -

write.php: "Danke fo Feedback"

<form id="mailForm"> 
    <input type="text" name="Submit" value="" /> 
    <label for="title">Title:</label> 
    <input type="text" name="title" id="title" value="" /> 
    <textarea name="content" rows="30" cols="50"></textarea> 
    <button id="sendBtn">Send</button> 
</form> 
<script type="text/javascript"> 
    var maildata = new FormData($("#mailForm")[0]); 
    $.ajax({ 
     url: 'send.php', 
     type: 'POST', 
     data: maildata, 
     async: true, 
     dataType: 'text', 
     processData: false, 
     success: function(data) { 
      alert(data); 
     }, 
     error: function(data) { 
      alert('An error occurs!'); 
     } 
    }); 
</script> 

so sollte es alarmieren nach Klicks auf die Schaltfläche senden

Entschuldigung für schlechtes Englisch

+0

Ich verstehe es nicht, um dies zu implementieren :(Bitte helfen Sie mir – Alex

+0

machen 2 Seiten und eine für schreiben und eine andere für senden, verwenden Sie jQuery, um diese Ajax an Ihre "senden" -Taste zu binden, und senden Sie Seite echo Dankesnachricht nach der E-Mail gesendet wird, so die vorherige Seite empfängt die Nachricht und zeigt es an Entschuldigung für schlechtes Englisch – Zhwt

Verwandte Themen