Alternative zu header()

Arndtinho

Erfahrenes Mitglied
Hallo,

auf meiner Seite kann ein User Daten über ein Formular in eine Datenbank eintragen.
Dann wird eine Bestätigungsmail geschickt und es soll per header() auf eine andere Seite weitergeleitet werden. Zum Versenden der Mail nutze ich htmlMimeMaile.
PHP:
if( isset( $_POST['btnSave'] ) ) {
   
   if( SendConfirmation( name, email ) )
      header( "location: message.php?id=1"  );
}
Ich erhalte aber immer den Fehler, die Mail wird aber trotzdem versendet:
Code:
Warning: Cannot modify header information - 
headers already sent by (output started at mailing.inc.php:1) 
in savedata.php on line 137
line137:
PHP:
header( "location: message.php?id=1"  );
Ich gehe davon aus, dass es mit dem Mailversand zu tun hat. Was kann ich als Alternative zu header() nehmen?

Gruß
Arndtinho
 
Ich denke nicht, dass es was mit dem Mailversand zu tun hat, es sei denn dabei wird etwas an den Browser ausgegeben. Denn dies darf vor dem Aufruf von header() nicht geschehen.
 
da beim senden der mail schon was an den browser geschickt wurde, ist klar das der fehler kommt. habe es jetzt so gelöst:
PHP:
if( isset( $_POST['btnSave'] ) ) {
   
   if( SendConfirmation( name, email ) )
      echo "<meta http-equiv='refresh' content='0; URL=message.php?id=1'>";
}
und nun klappt es auch wieder.

Gruß
Arndtinho
 
in der Klasse htmlMimeMail.php gibt es folgende Funktion:
PHP:
/**
* Accessor to set a header
*/
function setHeader($name, $value)
{
   $this->headers[$name] = $value;
}
Je nachdem was dann an Parametern übergeben werden soll, kann man den Header mit Informationen füllen:
PHP:
/**
* Accessor to add a Subject: header
*/
function setSubject($subject)
{
   $this->headers['Subject'] = $subject;
}
Beim versenden der Mail wird doch der Header ausgelesen, soweit ich weis. Und das hat dann meiner Meinung nach die Fehlermeldung verursacht.
 
Zurück