Jump to content
xt:Commerce Community Forum

Cannot add header information - headers already sent by ...


Recommended Posts

Die Fehlermeldung:

Cannot add header information - headers already sent by ...

nervt und kann vermieden werden ...

Der Fehler tritt z.B. auf, wenn es ein Problem beim Mailen gibt.

Daher habe Code gebaut, der den Fehler in der roten "errorBox"

auszugibt.

Daf?r habe ich im Verzeichnis includes eine Datei errors.php erzeugt mit

folgendem Inhalt:

---------------------------------------

<?

/* -----------------------------------------------------------------------------------------

errors.php

by Lutz / [email protected]

-----------------------------------------------------------------------------------------

Released under the GNU General Public License

-----------------------------------------------------------------------------------------

The message:

Cannot add header information - headers already sent by ...

nervs.

So find a way to bring error messages in the "errorBox"

Write these EARLY error messages into a file and

print them out in the header afterwards

*/

if (!defined('EARLYERRORS'))

{

// prevent from trying to declare several times ...

define('EARLYERRORS', 'ON') ;

function EarlyErrorWrite($cError)

{

// writing into cache should always be possible

$cFile = DIR_FS_DOCUMENT_ROOT . '/cache/EarlyErrors.txt' ;

// create (or open) a file, go to the end and write the error in one line

$hFile = fopen($cFile, "w") ;

fseek($hFile, SEEK_END) ;

fwrite($hFile, $cError . "\n") ;

fclose($hFile) ;

}

function EarlyErrorRead()

{

$cFile = DIR_FS_DOCUMENT_ROOT . '/cache/EarlyErrors.txt' ;

if (file_exists($cFile))

{

// if an EARLY error produced a file ->

// print it in an errorBox line by line

$cError = "" ;

$aLines = file($cFile) ;

foreach($aLines as $nLine => $cLine)

$cError = $cError . $cLine . "

" ;

xtc_output_warning($cError) ;

// delete the file so that error is only shown ONCE

unlink($cFile) ;

}

}

} // if (!defined('EARLYERRORS'))

?>

---------------------------------------

Die Funktionen der Datei sind bisher an 2 Stellen eingebunden (Version 3.04)

in

o inc/xtc_php_mail.inc.php ab Zeile 84

--------------------------------------------

// ### LH 19.06.2006

$ErrorReporting = error_reporting(E_ERROR) ;

if (!$mail->Send())

{

require (DIR_FS_DOCUMENT_ROOT . '/includes/errors.php');

EarlyErrorWrite("Message was not sent

Mailer Error: " .

$mail->ErrorInfo) ;

error_reporting($ErrorReporting) ;

return false ;

}

error_reporting($ErrorReporting) ;

// ### LH 19.06.2006 - End

--------------------------------------------

und in

o includes/header.php ab Zeile 296

--------------------------------------------

// ### LH - 19.06.2006

require (DIR_FS_DOCUMENT_ROOT . '/includes/errors.php');

EarlyErrorRead() ;

// ### LH Ende

--------------------------------------------

Damit sehen die Email-Fehler schon mal SCH?N aus ....

auch wenn sie nach wie vor nicht sch?n sind.

Probierts aus, falls Ihr Euch auch schon mal dr?ber ge?rgert habt.

Prinzipiell kann man

EarlyErrorWrite()

nat?rlich auch an anderen Stellen einsetzen. Ich hatte bisher nur

beim Mailen die Notwendigkeit.

und jetzt guten Nacht

Lutz

Link to comment
Share on other sites

Hi,

kann jetzt nicht wirklich was dazu sagen, nur dass ich selbige Fehlermeldung immer bekam, wenn ich noch irgendwo ein paar echo-Anweisungen stehen hatte.

Es wird also was ausgegeben, was ihm nicht passt. Echos habe ich jetzt bei dir nicht gesehen, aber vielleicht hilft dir das irgendwie weiter.

Gru? Bj?rn

Link to comment
Share on other sites

  • 2 weeks later...

<div class='quotetop'>QUOTE(Deadblow @ Jun 23 2006, 10:09 PM) Quoted post</div><div class='quotemain'>

Hi,

kann jetzt nicht wirklich was dazu sagen, nur dass ich selbige Fehlermeldung immer bekam, wenn ich noch irgendwo ein paar echo-Anweisungen stehen hatte.

Es wird also was ausgegeben, was ihm nicht passt. Echos habe ich jetzt bei dir nicht gesehen, aber vielleicht hilft dir das irgendwie weiter.

Gru? Bj?rn

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...