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?
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 .. )
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ü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#