Hallo Leute,
ich habe mein Kontaktformular jetzt paar Monate liegen gehabt, und jetzt spuckt er mir einen Fehler aus. Hier: Warning: Cannot modify header information - headers already sent by (output started at formular.php:1) in formular.php on line 56. So ich weiß er kann den Header nicht verändern weil es dort einen Fehler gibt.
Hier mein PHP Skript:
<?php
// ======= Konfiguration:
$mailTo = 'info@provider.biz';
$mailFrom = '"FormMailer" <info@provider.xy>';
$mailSubject = 'Feedback';
$rp = 'http://www.google.de';
$re = 'http://www.google.com';
$mailText = "";
// ======= Text der Mail aus den Formularfeldern erstellen:
// Wenn Daten mit method="post" versendet wurden:
if(isset($_POST)) {
// alle Formularfelder der Reihe nach durchgehen:
foreach($_POST as $name => $value) {
// Wenn der Feldwert aus mehreren Werten besteht:
// (z.B. <select multiple>)
if(is_array($value)) {
// "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ":\n";
// alle Werte des Feldes abarbeiten
foreach($valueArray as $entry) {
// Einrückungsleerzeichen, Wert und Zeilenumbruch
// dem Mailtext hinzufügen
$mailText .= " " . $value . "\n";
} // ENDE: foreach
} // ENDE: if
// Wenn der Feldwert ein einzelner Feldwert ist:
else {
// "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ": " . $value . "\n";
} // ENDE: else
} // ENDE: foreach
} // if
// ======= Korrekturen vor dem Mailversand
// Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt:
if(get_magic_quotes_gpc()) {
// eventuell eingefügte Backslashes entfernen
$mailtext = stripslashes($mailtext);
}
// ======= Mailversand
// Mail versenden und Versanderfolg merken
$mailSent = @mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);
// ======= Return-Seite an den Browser senden
// Wenn der Mailversand erfolgreich war:
if($mailSent == TRUE) {
// Seite "Formular verarbeitet" senden:
header("Location: " . $rp); //betroffene Zeile <---
}
// Wenn die Mail nicht versendet werden konnte:
else {
// Seite "Fehler aufgetreten" senden:
header("Location: " . $re);
}
// ======= Ende
exit();
?>
Ich wäre für eure Hilfe echt Dankbar.
Vielen Gruß,
CYBERWALL
ich habe mein Kontaktformular jetzt paar Monate liegen gehabt, und jetzt spuckt er mir einen Fehler aus. Hier: Warning: Cannot modify header information - headers already sent by (output started at formular.php:1) in formular.php on line 56. So ich weiß er kann den Header nicht verändern weil es dort einen Fehler gibt.
Hier mein PHP Skript:
<?php
// ======= Konfiguration:
$mailTo = 'info@provider.biz';
$mailFrom = '"FormMailer" <info@provider.xy>';
$mailSubject = 'Feedback';
$rp = 'http://www.google.de';
$re = 'http://www.google.com';
$mailText = "";
// ======= Text der Mail aus den Formularfeldern erstellen:
// Wenn Daten mit method="post" versendet wurden:
if(isset($_POST)) {
// alle Formularfelder der Reihe nach durchgehen:
foreach($_POST as $name => $value) {
// Wenn der Feldwert aus mehreren Werten besteht:
// (z.B. <select multiple>)
if(is_array($value)) {
// "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ":\n";
// alle Werte des Feldes abarbeiten
foreach($valueArray as $entry) {
// Einrückungsleerzeichen, Wert und Zeilenumbruch
// dem Mailtext hinzufügen
$mailText .= " " . $value . "\n";
} // ENDE: foreach
} // ENDE: if
// Wenn der Feldwert ein einzelner Feldwert ist:
else {
// "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ": " . $value . "\n";
} // ENDE: else
} // ENDE: foreach
} // if
// ======= Korrekturen vor dem Mailversand
// Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt:
if(get_magic_quotes_gpc()) {
// eventuell eingefügte Backslashes entfernen
$mailtext = stripslashes($mailtext);
}
// ======= Mailversand
// Mail versenden und Versanderfolg merken
$mailSent = @mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);
// ======= Return-Seite an den Browser senden
// Wenn der Mailversand erfolgreich war:
if($mailSent == TRUE) {
// Seite "Formular verarbeitet" senden:
header("Location: " . $rp); //betroffene Zeile <---
}
// Wenn die Mail nicht versendet werden konnte:
else {
// Seite "Fehler aufgetreten" senden:
header("Location: " . $re);
}
// ======= Ende
exit();
?>
Ich wäre für eure Hilfe echt Dankbar.
Vielen Gruß,
CYBERWALL
Kommentar