also, ich habe ein formular in ´nem html-dokument a, in dem man verschiedene text eingaben machen kann. per action übergibt dieses dokument a nach dem drücken der senden-tast an das php-formular, welches dann eine email generiert und danach an ein html-dokument b weiterleitet in dem "vielen dank" steht.
leider klappt das weder mit dem readfile-befehl (parse error in entsprechender zeile) noch dem header-befehl (cannot add header information, headers already sent by...)
hat jemand ne idee warum? oder wie sich das anders lösen lässt?
hier der code:
?php
if(isset($senden)){
$recipient="x";
$subject="x";
$header="Von: " . $mail . "\n";
$mail_body ="Das Anfrage-Formular wurde am " . date("d.m.Y") . " um " . date("H:i") . "h ausgeführt.\n";
$mail_body.="Folgende Werte wurden eingetragen:\n\n";
$mail_body.="Name: " . $familyname . "\n";
$mail_body.="Vorname: " . $name . "\n";
$mail_body.="Straße:" . $street ."\n";
$mail_body.="PLZ:" . $zip ."\n";
$mail_body.="Wohnort:" . $residence ."\n";
$mail_body.="e-mail-Adresse:" . $mail ."\n";
$mail_body.="Telefon tagsüber:" . $phone1 ."\n";
$mail_body.="Telefon abends:" . $phone2 ."\n";
$mail_body.="Fax:" . $fax ."\n";
$mail_body.="Körpergröße Teilnehmer 1:" . $kt1 ."\n";
$mail_body.="Vorname Teilnehmer 1:" . $name1 ."\n";
$mail_body.="Name Teilnehmer 1:" . $fname1 ."\n";
$mail_body.="Körpergröße Teilnehmer 2:" . $kt2 ."\n";
$mail_body.="Vorname Teilnehmer 2:" . $name2 ."\n";
$mail_body.="Name Teilnehmer 2:" . $fname2 ."\n";
$mail_body.="Körpergröße Teilnehmer 3:" . $kt3 ."\n";
$mail_body.="Vorname Teilnehmer 3:" . $name3 ."\n";
$mail_body.="Name Teilnehmer 3:" . $name3 ."\n";
$mail_body.="Körpergröße Teilnehmer 4:" . $kt4 ."\n";
$mail_body.="Vorname Teilnehmer 4:" . $name4 ."\n";
$mail_body.="Name Teilnehmer 4:" . $fname4 ."\n";
$mail_body.=$anfrage . "\n\n ---- Ende der automatisch generierten eMail ----";
mail($recipient,$subject,$mail_body,$header);
readfile {"thanx_ie.htm"};
# header ("Location: http://www.bild.de // Umleitung des Browsers
}
?>
[ 08-08-2002: Beitrag editiert von: Lame ]
also ich hatte zumindest das "#" vor readfile, um es zu deaktivieren und dann ist doch der header-befehl eigentlich der erste, der etwas ausgibt, oder überseh ich da was?!?
code:
if(isset($senden)){$url="http://www.bild.de";
$recipient="x";
$subject="x";
$from="Von: " . $mail . "\n";
$mail_body ="Das Anfrage-Formular wurde am " . date("d.m.Y") . " um " . date("H:i") . "h ausgeführt.\n";
$mail_body.="Folgende Werte wurden eingetragen:\n\n";
$mail_body.="Name: " . $familyname . "\n";
$mail_body.="Vorname: " . $name . "\n";
$mail_body.="Straße:" . $street ."\n";
$mail_body.="PLZ:" . $zip ."\n";
$mail_body.="Wohnort:" . $residence ."\n";
$mail_body.="e-mail-Adresse:" . $mail ."\n";
$mail_body.="Telefon tagsüber:" . $phone1 ."\n";
$mail_body.="Telefon abends:" . $phone2 ."\n";
$mail_body.="Fax:" . $fax ."\n";
$mail_body.="Körpergröße Teilnehmer 1:" . $kt1 ."\n";
$mail_body.="Vorname Teilnehmer 1:" . $name1 ."\n";
$mail_body.="Name Teilnehmer 1:" . $fname1 ."\n";
$mail_body.="Körpergröße Teilnehmer 2:" . $kt2 ."\n";
$mail_body.="Vorname Teilnehmer 2:" . $name2 ."\n";
$mail_body.="Name Teilnehmer 2:" . $fname2 ."\n";
$mail_body.="Körpergröße Teilnehmer 3:" . $kt3 ."\n";
$mail_body.="Vorname Teilnehmer 3:" . $name3 ."\n";
$mail_body.="Name Teilnehmer 3:" . $name3 ."\n";
$mail_body.="Körpergröße Teilnehmer 4:" . $kt4 ."\n";
$mail_body.="Vorname Teilnehmer 4:" . $name4 ."\n";
$mail_body.="Name Teilnehmer 4:" . $fname4 ."\n";$mail_body.=$anfrage . "\n\n ---- Ende der automatisch generierten eMail ----";
header("Location:$url");
mail($recipient,$subject,$mail_body,$from);
}
?>
Na wenn der Header-Befehl vor dem Mail-Befehl steht, kann der doch garnicht senden, weil die Seite vorher quasi schon weg ist und der erst garnicht bis zum Mail-Befehl kommt .. (?!?)
Oder sehe ich hier irgendwas arg falsch?
Und wieso muss der Header-Befehl denn immer vor jeder Ausgabe sein? Die Ausgabe wird doch sonst garnet angezeigt weil der schon auf 'ne andere Seite geht ..hm ...
@Lame:
Bei dem readfile-Commando hast Du die Parameter in geschweiften Klammern, da sollten aber normale hin, vielleicht liegt es ja daran.
[ 10-08-2002: Beitrag editiert von: smpx7 ]
quote:
Und wieso muss der Header-Befehl denn immer vor jeder Ausgabe sein? Die Ausgabe wird doch sonst garnet angezeigt weil der schon auf 'ne andere Seite geht ..hm ...
da steht warum!
das kann man z.b. durch eine if-anweisung prima so einbauen, dass es am anfang des scriptes stehen kann!