Hi,
ich gehe davon aus dass Du eine statische Seite „kontakt.htm“ hast, welche die enthält - richtig?
Heisst dass Du zuerst direkt die kontakt.htm verlinkst. Dort kannst Du in aller Ruhe die Formfields ausfüllen, beim Submit gehen die Daten an kontakt.php. Damit werden die Daten erst im /* process form data here */ verarbeitet und anschliessend die danke.htm verschickt.
Ist natürlich keine wirklich elegante Lösung - probiers mal mit dem oder Ähnlichem (sorry, irgendwie funktioniert das mit dem Codedarstellen (FAQ:3090) nicht…):
<?php /* how to process a contact form */
// constants and definitions
define('FORM\_NEW', 'form.htm');
define('FORM\_OK', 'danke.htm');
define('FORM\_ERR', 'fehler.htm');
define('SUBMIT\_NAME', 'btnSubmit'); // Name des Submit Buttons
// Verarbeitet die Formdaten.
// diese simple Variante kommt einfach boolean zurück
// - alles ok: true
// - Fehler aufgetreten: false
// professionell ist das nicht, aber das kann ja noch werden...
function processFormData() {
var $statOk;
// hier prüfen wir und versenden die Mail
// wenbn ein Fehler auftritt wird $statOk auf false gesetzt!
return $statOk;
}
// die ist ganz einfach - kann aber natürlich ausgebaut werden.
// zB statt readfile() die Datei einlesen und personalisieren, etc...
function showResult(what) {
readfile(what);
}
// Zuerst prüfen wir ob der Submit Button vorhanden ist.
// Nur dann verarbeiten wir die Formdaten!
if ($\_REQUEST[SUBMIT\_NAME]) {
if (processFormData())
showResult(FORM\_OK);
else
showResult(FORM\_ERR);
}
else
showResult(FORM\_NEW);
?\>