Hallo Contenido 4.4.4 Fans,
beschäftige mich seit einigen Tagen mit Contenido 4.4.4 und habe sehr grossen Gefallen an diesem CMS gefunden. Natürlich passieren in den ersten Tagen dumme Fehler, die ich meistens beheben konnte.
Nun aber bin ich ein wenig ratlos. Habe ein Gaestebuch eingerichtet, welches auch eigentlich problemlos funktioniert. Leider erhalte ich eine nicht ganz schöne Warnung, die nach dem Absenden des Beitrags im Eingabeformular am FrontEnd erscheint:
Warning: Cannot modify header information - headers already sent by (output started at /raid/domains/de/h/holzero/htdocs/mgv/cms/front_content.php(563) : eval()'d code:7) in /raid/domains/de/h/holzero/htdocs/mgv/cms/front_content.php(563) : eval()'d code on line 910
Habe schon diverse Threads gesichtet aber nie eine Antwort gefunden. Also versuch ich es nochmals und hoffe auf eure Hilfe.
Friedel Weber
Warning: Cannot modify header information - headers already
generell gilt: headers können nur versendet werden, wenn sonst noch keine informationen an den browser gesendet worden sind. aber das ist typsicherweise der fall (ein teil des layouts wird versendet, bevor das gästebuch resp. das entsprechende modul aufgerufen wird).
eine der häufigsten anwendungen von headers ist die weiterleitung. diese kann jedoch auch mit javascript erfolgen. das ist zwar etwas weniger zuverlässig, aber hier vermutlich einfacher zu realisieren.
die andere möglichkeit besteht im umbau sowohl der front_content.php sowie des moduls. und zwar müssten folgende anpassungen vorgenommen werden.
(1) am anfang der front_content.php die ausgabepufferung einschalten (ob_start()).
(2) am ende der front_content.php die ausgabepufferung ausschalten und den puffer an den browser senden (ob_end_flush()).
(3) im modul vor dem senden des headers die ausgabepufferung ausschalten und ggf. verwerfen (im falle einer weiterleitung). also ob_end_flush() oder ob_end_clean(). im falle einer weiterleitung nach ob_end_clean() noch ein exit einfügen um auf nummer sicher zu gehen.
wenn du in php nicht fit bist, würde ich eine weiterleitung mit javascript machen. die funktioniert zwar vermutlich nicht mit ganz jedem browser, dafür aber ohne umbau der front_content.php und des moduls.
gruss,
andreas
eine der häufigsten anwendungen von headers ist die weiterleitung. diese kann jedoch auch mit javascript erfolgen. das ist zwar etwas weniger zuverlässig, aber hier vermutlich einfacher zu realisieren.
die andere möglichkeit besteht im umbau sowohl der front_content.php sowie des moduls. und zwar müssten folgende anpassungen vorgenommen werden.
(1) am anfang der front_content.php die ausgabepufferung einschalten (ob_start()).
(2) am ende der front_content.php die ausgabepufferung ausschalten und den puffer an den browser senden (ob_end_flush()).
(3) im modul vor dem senden des headers die ausgabepufferung ausschalten und ggf. verwerfen (im falle einer weiterleitung). also ob_end_flush() oder ob_end_clean(). im falle einer weiterleitung nach ob_end_clean() noch ein exit einfügen um auf nummer sicher zu gehen.
wenn du in php nicht fit bist, würde ich eine weiterleitung mit javascript machen. die funktioniert zwar vermutlich nicht mit ganz jedem browser, dafür aber ohne umbau der front_content.php und des moduls.
gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Cannot modify header information
Hallo Andreas,
danke für die schnelle Antwort.
Habe aber ein kleines Problem mit Deiner Aussage und zwar läuft das GB auf meinem Tstsystem (WAMP) ohne Probleme; auf dem Linux Server bei meinem Provider bekomme ich die Warning.
Waran kann den das liegen?
FrontEnd ist identisch.
Gruss Friedel
danke für die schnelle Antwort.
Habe aber ein kleines Problem mit Deiner Aussage und zwar läuft das GB auf meinem Tstsystem (WAMP) ohne Probleme; auf dem Linux Server bei meinem Provider bekomme ich die Warning.
Waran kann den das liegen?
FrontEnd ist identisch.
Gruss Friedel
das kommt halt drauf an, wie php eingestellt ist. man kann die warnungen einblenden lassen oder auch nicht. vermutlich liegt einfach darin der unterschied: auf einem server werden warnungen an den browser ausgegeben und beim anderen nicht. die warnungen werden häufig aus sicherheitsgründen ausgeschaltet.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)