Formular versenden mit Bestätigungsseite

JDietrich

Mitglied
Servus Leute,

ich habe ein Formular wo Daten eingetragen werden, die dann an eine E-Mail versendet werden. Das funktioniert wunderbar.

Nach dem Senden soll er auf eine Bestätigungsseite kommen die Ihm die übermittlung bestätigt. Diese Datei heißt bei mir redirect.php und liegt im selben Verzeichnis wie die Datei mit dem Formular.

Nun mein Problem: Er versendet zwar die Daten aus dem Formular ohne Probleme an die E-Mail-Adresse, jedoch kommt die Bestätigungsseite nicht.
Nach dem versenden wird/bleibt meine Seite weiß.

Anbei mein Code für das versenden. Kann mir jemand sagen wo mein Fehler ist?

PHP:
$absender="Mailrobot <info@abc.com>";
$titel="Formular an E-Mail / Eine Anfrage Kontaktanfrage wurde gestellt:";
$extheader = "From: $absender\n\r";
                         ."Return-Path: webmaster@abc.com\n\r";
mail ("$admin_email","$titel","$message","$extheader");
Diese Zeile gehört noch unter mail .....
header ("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/redirect.php");

Vielen Dank im voraus.

Jörg
 
Zuletzt bearbeitet:
wieso machst du es nicht so :

Code:
<?
if($send == "true")
{
echo "Die Email wurde versendet";
}else{
?>
hier kannste dein Versende Script reinpacken
<form action="anmelung.php&send=true" method="POST">
hier dein Formular
</form>
<?
}
?>

Wie funktioniert das ganze also ganz einfach wenn &send=true an die Url angehängt wird und deine Anmelde.php geladen wird zeigt er an Die Email wurde versendet, wenn nicht dann zeigt er dein Formular an. Das ganze könnte man noch mit isset verschönern. Wichtig ist das du unter action das $send=true anhängst.

Hoffe hab dir damit geholfen

Greetz
Starfox
 
Warum so umständlich?

PHP:
if (mail($email,$betreff,$text,$header)) {
  echo "Es hat geklappt!";
}
else {
  echo "Sorry, da ging was schief";
}
 
Danke für eure Hilfe

Servus,

danke für Eure schnelle Antworten.
Behebt dies auch das Problem das meine Seite nach dem senden weiß ist!?

Könnt Ihr mir was zu meinem oben angegebenen header sagen!?
z.B. Warum das so nicht funktioniert.

Merci

Jörg
 
nun ich denke da ist irgendwas vom Pfad her falsch sonst würde er ja deine redirect.php anzeigen.

$_SERVER['HTTP_HOST']
speichert deine Domain

$_SERVER['PHP_SELF']
speichert den Pfad des gerade ausgeführten Scriptes aus also den Pfad zu der Datei in dem das steht.

/redirect.php geht also nicht weil in $_SERVER['PHP_SELF'] dein Dateiname schon mit hintendran steht.

Hoffe du hast das verstanden
:-)
 
Zurück