Stopp-Seite umleiten, php script Datei beim Absenden
Dies ist eine php-Datei aufgerufen sendmail.php validiert und sendet eine E-Mail von einem Kontakt-Formular, (das unten)
Die Mühe, die ich habe ist, wenn die Warnung geklickt wird, leitet es die Seite zu sendemail.php weil, ich gehe davon aus, von der form action=sendmail.php
Wie kann ich dies beheben, also bleibt Sie auf der Kontakt-Seite und der Benutzer kann Sie abholen, wo Sie aufgehört haben? Ich habe versucht mit header wie für die danke-Seite, aber ohne Erfolg!
if (isset($_POST["submit"])) {
$validate = validateInput($_POST["name"], $_POST["message"], $_POST["subject"]);
if ($validate==FALSE) {
$error_msg = "Please fill out all information";
echo '<script type="text/javascript">
alert("'.$error_msg.'");
</script>';
} else {
$mailcheck = spamcheck($_POST["email"]);
if ($mailcheck==FALSE) {
$error_msg = "Invalid email address";
echo '<script type="text/javascript">
alert("'.$error_msg.'");
</script>';
} else {
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
$subject = $_REQUEST['subject'] ;
mail( "[email protected]", $subject, $message, "From: $email" );
header( "Location: http://www.thankyou.html" );
}
}
}
<form method="post" action="sendmail.php">
<input type="text" name="name" maxlength="50" placeholder="Name" class="contact-standard" /></br></br>
<input type="email" name="email" placeholder="Email" class="contact-standard"></input></br></br>
<input type="text" name="subject" placeholder="Subject" class="contact-standard"></input></br></br>
<textarea name="message" placeholder="Message" class="contact-message"></textarea></br></br>
<input type="submit" name="submit" value="Send Message" class="contact-submit"></input></br></br>
</form>
- Nur haben die alles geschehen auf dieser Seite. Verschieben Sie den code aus der
sendmail.php
zu dieser Seite (oder auf submit). - verwenden Sie überschriften in die
sendmail.php
nach Erfolg - Arif - ich habe versucht aber ich habe einfach immer weitergeleitet zu sendmail.php. Der header funktioniert für Erfolg, aber für einige Grund, nicht nach einem Fehler bei der überprüfung
- Rasclatt - Was muss ich tun mit der action-Klasse in die Instanz? Wird # halten Sie mich auf der Seite oder gibt es einen besseren Weg, es zu tun?
- ich denke, du hast deine Antwort
- steven überprüfen Sie die Antwort von mir. und in Antwort, dass, Wann immer Sie auf das Feld klicken, wird es leiten Sie auf Ihrem Formular-Seite. Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie diese Lesen und den Kommentar.
Kommentar: Fügen Sie diese Zeile jedes mal, wenn die Validierung fehlgeschlagen ist Fenster.location= "Your-Form-File-Name.php";
Ich habe keine Erfahrung mit php aber ich denke, Sie müssen zu returen false wenn das Formular nicht validiert.
Validieren, Formular mit jQuery, BEVOR Benutzer Sie übergibt das Formular, stellen Sie die "Danke" passieren auf der gleichen Seite, auf erfolgreiche Einreichen. Auf diese Weise verwenden Sie einfach den PHP-Prozess E-Mail senden.
Dies ist sendmail.php, richtig? WENN Sie umgeleitet werden sollen contact.php nur header() dort. Legen Sie Formular Aktion zu sendmail.php das bedeutet, dass Sie auf diese Datei zu, Sie wird das gleiche tun, wenn Sie die Aktion löschen prop von form-tag. Ändern Sie einfach Ihre header-Wert, um contact.php oder
print ' - Lage.href="'.$url_to_contact_php.'"';