Ich versuche eine einfache Methode zu finden, um zu zeigen, dass eine Nachricht in einem Kontaktformular gesendet wurde oder nicht. Im Moment wird bei Erfolg oder Misserfolg auf eine designierte Erfolgs- oder Fehlerseite umgeleitet. Alles, was ich tun möchte, ist statt Redirect, vielleicht zeigen Sie ein Div, oder Modal oder Popup, aber ich bin mir nicht sicher, wie man das in PHP macht.So zeigen Sie eine Erfolgs-/Fehlermeldung im Kontaktformular an senden
Form:
<div class="col-lg-7 col-sm-7 contactboxform">
<form action="contact_me.php" method="POST" id="contactform">
<input type="text" name="name" placeholder="Name..." class="input-text">
<input type="text" name="phone" placeholder="Phone Number..." class="input-text">
<input type="email" name="email" placeholder="E-mail Address..." class="input-text">
<input type="checkbox" name="interested">
<textarea name="message" placeholder="What would you like to say?" class="input-text text-area" rows="7"></textarea>
<button type="submit" id="subbtn" class="btn btn-default btn-lg">Submit</button>
</form>
</div>
PHP:
// send email
if (!empty($name) && !empty($email) && !empty($phone) && !empty($message)) {
$success = mail($emailTo, $subject, $body, "From: <$emailFrom>");
}
if ($success){
header('Location: success.html');
}
else {
header('Location: failed.html');
}
//redirect to success page
Also ich bin nur nicht sicher, wie man richtig in PHP zu sagen, die auf Erfolg, spezifische div/Pop-up zeigen.
Vielen Dank im Voraus
Sie benötigen AJAX, da PHP keine clientseitigen Aktionen ausführen kann. –
Ist das Umleiten wirklich ein Problem? Sie können zurück zur selben Seite umleiten und in der Ansicht eine '$ status'-Variable lesen, um eine Nachricht anzuzeigen. Es müsste in einem $ SESSION gespeichert werden, um es auf einer Weiterleitung zu bekommen, und Sie müssen es am Ende aufheben. – nerdlyist
können Sie ein AJAX-Ereignis über PHP auslösen? –