Kontaktformular: Ausgabe auf derselben Seite
Hallo,
meine eigene Webseite ist zu 90% fertig. Bin selber stolz darauf, da ich kein gelernter Webentwickler bin. Mache das eher hobbymäßig.
Das einzige, was mich an meiner Webseite stört, ist, dass wenn ich in einem Kontaktformular Daten absenden möchte, die Ausgabe der Meldung (ob erfolgreich oder fehlgeschlagen) nicht auf derselben Seite angezeigt wird, sondern auf einer neuen Seite.
Falls das für euch relevant ist: Die Hauptseite index.php wurde mit DIV-Boxen gestaltet. Die entsprechenden Seiten werden mit PHP inkludiert und in der Box "jsmain" angezeigt:
Die Links wurden mit Javascript erstellt. Der Link für "Kontakt" sieht so aus:
Was muss ich tun, damit die Ausgabe auf derselben Seite angezeigt wird?
contact.php
sendmail.php
thanks.php
meine eigene Webseite ist zu 90% fertig. Bin selber stolz darauf, da ich kein gelernter Webentwickler bin. Mache das eher hobbymäßig.
Das einzige, was mich an meiner Webseite stört, ist, dass wenn ich in einem Kontaktformular Daten absenden möchte, die Ausgabe der Meldung (ob erfolgreich oder fehlgeschlagen) nicht auf derselben Seite angezeigt wird, sondern auf einer neuen Seite.
Falls das für euch relevant ist: Die Hauptseite index.php wurde mit DIV-Boxen gestaltet. Die entsprechenden Seiten werden mit PHP inkludiert und in der Box "jsmain" angezeigt:
<div class="mainContent" id="jsmain">
<?php include('html/start.html'); ?>
</div>
Die Links wurden mit Javascript erstellt. Der Link für "Kontakt" sieht so aus:
<a href="javascript: void(0)" onclick="$('#jsmain').load('php/contact.php'); return false">Kontakt</a>
Was muss ich tun, damit die Ausgabe auf derselben Seite angezeigt wird?
contact.php
<form id="contactform" method="post" action="./php/contact/sendmail.php">
...
<input type="submit" name="submit" value="Absenden" style="width:100px;">
<input type="reset" name="reset" value="Zurücksetzen" style="width:100px;">
</form>
sendmail.php
?php
if (isset($_POST['submit']))
{
...
}
$mailsent = mail($mailto, $mailsubject, $mailcontent, "From: " . $mailfrom);
if($mailsent == TRUE)
{
include('thanks.php');
}
else
{
include('error.php');
}
?>
thanks.php
<form id="contactform" method="post" action="./php/contact.php">
<fieldset style="width:600px;">
<legend><b>Vielen Dank</b></legend>
<br>
<p>Ihre Nachricht wurde erfolgreich versandt.</p>
<br>
</fieldset>
</form>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 350551
Url: https://administrator.de/forum/kontaktformular-ausgabe-auf-derselben-seite-350551.html
Ausgedruckt am: 02.04.2025 um 06:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
wie schon @certifiedit.net geschrieben musst du hier einfach im Formular durch "Post" die Formularseite einfach wieder selber aufrufen. Dort kannst du dann mit einer Abfrage deine E-Mail senden und entsprechend deine Information über den Erfolg entsprechend einbauen.
Alternativ kann man das auf über AJAX abbilden. Hier kann man das ganze ohne den "refresh" der Seite. Sieht Optisch schöner aus ist aber aufwendiger und JavaScript darf nicht blockiert sein.
wie schon @certifiedit.net geschrieben musst du hier einfach im Formular durch "Post" die Formularseite einfach wieder selber aufrufen. Dort kannst du dann mit einer Abfrage deine E-Mail senden und entsprechend deine Information über den Erfolg entsprechend einbauen.
Alternativ kann man das auf über AJAX abbilden. Hier kann man das ganze ohne den "refresh" der Seite. Sieht Optisch schöner aus ist aber aufwendiger und JavaScript darf nicht blockiert sein.
Moin,
wenn es dir um was einfaches geht was auch einigermaßen sicher ist, neige ich inzwischen dazu mir das PHP gefrickel zu sparen.
Gerade statische Webseiten die einfach nur einmalig generiert werden (mit hilfe von Tools wie Jekyll oder Hugo) will man für ein einfaches Kontaktformular nicht noch eine PHP engine hinten dran schrauben. Deshalb verwende ich da gerne mal formspree.
Ich würde jetzt keine Geschäftsdaten oder gar Bankdaten darüber austauschen, aber wenn es nur um den reinen Erstkontakt geht, einwandfrei.
Nur mal so eingeworfen.
Gruß
Chris
wenn es dir um was einfaches geht was auch einigermaßen sicher ist, neige ich inzwischen dazu mir das PHP gefrickel zu sparen.
Gerade statische Webseiten die einfach nur einmalig generiert werden (mit hilfe von Tools wie Jekyll oder Hugo) will man für ein einfaches Kontaktformular nicht noch eine PHP engine hinten dran schrauben. Deshalb verwende ich da gerne mal formspree.
Ich würde jetzt keine Geschäftsdaten oder gar Bankdaten darüber austauschen, aber wenn es nur um den reinen Erstkontakt geht, einwandfrei.
Nur mal so eingeworfen.
Gruß
Chris