Zum Inhalt springen

Kontaktformular

Erstellt am 21. November 2009 · 2 Antworten · letzte Antwort am 23. November 2009

Tags: Frage

martinibianco007 ·

Hi,
ich habe ein Kontaktformular, welches ich mit php validiere:
<form id="form_contact" action="fileadmin/php/formular.php" method="post">

eingefügt habe ich das formular über das Inhaltselement reines Html

funktioniert alles wunderbar

nur leider wird die bestätigung, dass das formular versandt wurde bzw.
dass enige formulardaten fehlen in einer neuen seite angeziegt.

meine frage, ist es mögliche diese ausgabe in der selben seite ausgeben
zu lassen?

Velletti ·

Da gibt sicher viele lösungen

aber: in deinem Form check php kann du doch entscheiden, was im erfolgsfall und was im NICHT Erfolgsfall passieren solll ..

oder beieht sich deine Frage auf eine Extension wie PowerMail?

wenn ciht wäre die lösung z.b. irgendwie sinngemäß:
in deiner php datei.

if ( $success ) {
header("Location: " . $_POST['Dankeseitenid'] ) ;
} else {
header("Location: " . $_POST['formularid'] ) ;
}

und im Formular nur 2 hidden felder einrichten in denen du die gewünschte Dankeseitenid und formularid hinterlegst .. ggf. ist bei dir die id auch einfach nur identsich ..

(dann muss dein Formular schon die Prüfung enthalten, ob das Formular erfolgreich abgesendet wurde oder nicht .. )

martinibianco007 ·

prizipielle verstehe ich deinen ansatz.
bin eine totale niete in php und mache hier wahrscheinlich grundsätzlich etwas falsch ;-(

irgendwie fehlt in der header der rückgabewert den er dann in div mit der
id bestaetigung ausgeben soll.

ich habe ein leeres div: <div id="bestaetigung"></div> angelegt!

if($_POST['submit']){
//hier validiere ich und prüfe auf korrektheit funktioniert wunderbar
...
if (!isset($_POST['privacy_policy'])){
		$error_message[]="Sie m&uuml;ssen die Datenschutzbestimmungen akzeptieren.";
	}
...
//und hier beginnen die probleme ohne die header Zeile gibt er die fehlerhaften
eingaben zwar aus aber in einem neuen fenster!
if($error_message)//fehlerarray als liste ausgeben
{  
echo "<ul>\n";
foreach($error_message as $fehler){
echo "<li>".$fehler."</li>\n";
header("Location: http://www.xxxxx.com/kontakt.html" . $_POST['bestaetigung'] );
}

else
{
echo "vielen dank"
header("Location: http://www.xxxxx.com/kontakt.html" . $_POST['bestaetigung'] );
}

}

#angry#