ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
Warning: Cannot modify header information...
Gehe zu Seite 1, 2  Weiter
 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Modul Guestbook (ConPresso 4)
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 06.08.2007 22:23    Titel: Warning: Cannot modify header information... Antworten mit Zitat

Hallo liebe Communtiy,

ich habe ein Upgrade des Gästebuchmoduls von 4.0.5a auf 4.1.0 durchgeführt. Leider bekomme ich beim Klick auf den Senden-Button folgende Fehlermeldung:
Zitat:
Warning: Cannot modify header information - headers already sent by (output started at [Pfad]/_cfg/global_header.php:8) in [Pfad]/mod_guestbook_vorschlaege/_include/guestbook.inc.php on line 565

Die ersten 14 Zeilen der global_header.php:
Zitat:
<!-- start of _cfg/global_header.php -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html>
<head>
<!--link rel="icon" href="_images/logo_dgiq_klein.ico" type="image/vnd.microsoft.icon" /-->
<link rel="stylesheet" type="text/css" href="<?php echo BASE_REL.'dgiq.css'; ?>"/>
<!--[if IE]>
<style type="text/css">@import url(<?php echo BASE_REL.'dgiq_ie.css'; ?>);</style>
<![endif] -->
<title>
<?php echo htmlspecialchars($cpoRubricSettings['title']); ?>
</title>

Das Gästebuch soll nicht mehr Funktionalität erfüllen als die Sammlung von Verbesserungsvorschlägen, als Artikel in einer Conpresso Rubrik (mod_contact stellt keine Alternative dar :o)). Ich habe bereits im Forum gesucht und eine vergleichbare Problematik gefunden:

http://community.conpresso.de/viewtopic.php?t=2852

Allerdings löst diese das Problem nicht. Mein Conpresso System ist Version 4.0.7. und die dort beschriebenen Änderungen sind schon längst enthalten.

Wäre schön wenn jemand eine Idee hat, wie man diesen Fehler nach dem Absenden eines Beitrags beheben kann.

Gruß,
Insane

PS: Alles funktioniert wie gewollt, nur die Fehlermeldung hält sich hartnäckig.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 06.08.2007 22:38    Titel: Antworten mit Zitat

Hallo,

wenn du die Zeile 481 in der Datei mod_guestbook/_include/guestbook.inc.php:
Code:
if (!isset($header_is_printed) && $nextview!='index2article' && $nextview!='jump2index' && (!empty($data['nr']) || $nextview!='confirm')) {
mal testweise änderst in:
Code:
if (false) {
, dann dürfte die Meldung nicht mehr auftreten, ABER es werden keine header-Dateien mehr ausgegeben.

Dies kannst du mal rein zu Testzwecken durchführen.

Aber ich kann mir ehrlich gesagt noch nicht erklären, warum dieses Problem wieder auftritt, welches mal bei früheren Versionen auftrat.

Es kann an Übertragungsproblemen zu deinem Webspace liegen. Demnach kannst du mal testen (wenn du die obige Code-Änderung wieder rückgängig gemacht hast), die _include/function.php aus dem Conpresso-Archiv noch einmal zu Übertragen, falls es bei der Übertragung dieser Datei Probleme gab.

Gruß Matthias

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 07.08.2007 09:31    Titel: Antworten mit Zitat

Erstmal vielen Dank für die schnelle Hilfestellung, Matthias.

Ich habe deine Vorschläge getestet.

Bei der Umstellung der Bedingung auf false, lief das Modul fehlerfrei, allerdings wie beschrieben ohne Headerausgabe. Genauer gesagt war nur das Gästebuchmodul sichtbar, sonst nichts.

Ich habe auch die Datei function.php nochmals transferiert und die Webseite in meiner Testumgebung (XAMPP) auch nochmal local(host) getestet. Bei beiden blieb der oben genannte Fehler bestehen.

Kann es sein, dass die CSS Datei oder Angaben darin diesen Fehler verursachen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 07.08.2007 09:46    Titel: Antworten mit Zitat

Insane hat Folgendes geschrieben:
Kann es sein, dass die CSS Datei oder Angaben darin diesen Fehler verursachen?

Nein, daran liegt es nicht. In der Zeile 565 in der Datei mod_guestbook/_include/guestbook.inc.php steht eine Zeile, welche die header-Informationen der auszugebenden Webseite modifiziert. Das heißt, es wird eine andere URL angegeben. Und dies darf nur passieren, wenn vorher noch nicht die header-Dateien von Conpresso eingebunden wurden, welche eine Ausgabe produzieren.
Und diese Ausgabe der Conpresso-Header-Dateien hast du ja mal testweise mit der Modifizierung der if-Schleife deaktiviert.

So, damit ich weiß, warum die Conpresso-Header ausgegeben werden, brauche ich noch die Werte einiger Variablen. Daher bitte ich dich die Zeile 565 (wieder in der Datei mod_guestbook/_include/guestbook.inc.php) durch die folgenden Zeilen zu ersetzen:
Code:
        echo "header_is_printed: ".$header_is_printed."#\n";
        echo "nextview: ".$nextview."#\n";
        echo "data[nr]: ".$data['nr']."#\n";
        //header('Location: '.BASE_ABS.$gb_settings['directory'].'/index.php?rubric='.urlencode($cpoRubric['name']), true);

Wenn du das gemacht hast, dann schreibe mir doch bitte, was nach dem Eintragen ins Gästebuch angezeigt wird.

Gruß Matthias

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 07.08.2007 13:39    Titel: Antworten mit Zitat

Hier die benötigten Ausgabewerte:
Zitat:
header_is_printed: 1#
nextview: jump2index#
data[nr]: #
Gruß,
Insane
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 07.08.2007 14:41    Titel: Antworten mit Zitat

Danke für die Angaben.

Ich finde das komisch und kann es mir im Moment noch nicht erklären, woran es liegt. Kopfkratzen

Hast du die Gästebucheinstellungen nach dem Update des Gästebuchs noch einmal aufgerufen, sinnvolle Werte gewählt, und dann auf speichern geklickt? Das ist nämlich wichtig!

Kannst du nochmal vor die Zeile 487:
Code:
switch ($nextview) {
folgendes schreiben:
Code:
    echo "-header_is_printed: ".(isset($header_is_printed) ? 'true' : 'false')."#\n";
    echo "-nextview: ".$nextview."#\n";
und dabei die vorherige Code-Änderung beibehalten?

Und schreibe doch noch mal bitte, was alles ausgegeben wird.

Gruß Matthias

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 08.08.2007 13:18    Titel: Antworten mit Zitat

Auf der ersten Seite mit dem Formular kommt nun folgendes:
Zitat:
-header_is_printed: true# -nextview: form#
[FORMULAR]
-header_is_printed: true# -nextview: index#

Nach dem Absenden kommt jetzt das hier:
Zitat:
-header_is_printed: true# -nextview: confirm# -header_is_printed: true# -nextview: jump2index# header_is_printed: 1# nextview: jump2index# data[nr]: #
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 08.08.2007 13:54    Titel: Antworten mit Zitat

So etwas ähnliches habe ich mir gedacht, es wird also die Bestätigungsseite (confim) und danach der Sprung zum Index (jump2index) ausgeführt, was nicht sein darf. wahrscheinlich warst du nach dem Update des Gästebuchs noch nicht in den Gästebucheinstellungen.

Bitte wähle doch mal bei "Ansicht nach dem Eintragen eines Artikels:" und bei "Ansicht auf 'index.php':" eine Option aus und speichere es. Bei der ersten Option kannst du z.B. "Index-Seite des Gästebuchs mit allen Artikeln" wählen, dann können wir überprüfen, ob das weiterleiten zum Index richtig funktioniert.

Wenn dann noch diese Code-Änderungen rückgängig gemacht sind, dann sollte es funktionieren.

Oder noch besser: du gibst mir per PN Zugangsdaten, mindestens mit der Benutzerstufe Superuser.

Gruß Matthias

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 09.08.2007 08:41    Titel: Antworten mit Zitat

Keine Angst, ich lese Beschreibungen sehr genau, inklusive des Forenbeitrages hier in Sachen Update des Guestbooks - bevor ich an bestehenden Systemen arbeite. Smile

Der Kern des Problems liegt woanders. Ich entwickle an einem bestehenden System weiter (genauer gesagt an einem System das vor mir bestand und nicht dokumentiert wurde). Mir ist gestern aufgefallen, dass in der Standard-Installation des Moduls keine _local_header.php vorhanden ist.

Im vorhandenen Modul wurde jedoch bereits so eine Datei angelegt und daran verschluckt sich das Modul jetzt, nach dem drüberinstallieren (davor wohl auch).

Ich habe die _local_header.php mal probeweise entfernt und siehe da, der Fehler war weg. Sprich nur mit global header funktioniert es, mit local header oder diesem local header hier nicht.

Leider wird die local header aber für ein Seitenmenü, Newsflash und Kalenderfunktion benötigt.

Any ideas?

Gruß,
Insane
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 09.08.2007 12:09    Titel: Antworten mit Zitat

Das finde ich komisch, dass es an der _local_header.php im Modulverzeichnis liegen soll. Aber wenn es ohne funktioniert, dann ist das ja gut. Allerdings ist es nicht gut, wenn du diese Datei für Flash benötigst.

Aber allgemein liegen bei Conpresso in den Rubrikverzeichnissen und auch in vielen Modulverzeichnissen nur _local_header.php.dist als kopiervorlagen. Das heißt, wenn jemand sich die Local_header-Datei modifiziert, sollte er das .dist entfernen, damit bei einem Update nicht die modifizierte Datei überschrieben wird.

Kopiere dir doch testweise die local-header Datei mit dem .dist so, dass du das .dist weglässt.

Du kannst auch in der Datei mod_guestbook/loadheaders.php die Variable $directory durch den Namen des Modulverzeichnisses ersetzen.

Wichtig ist in diesem Zusammenhang natürlich, dass es mindestens eine Rubrik gibt, welche das Gästebuchverzeichnis als Modulverzeichnis nutzt.

Ich weiß jetzt nicht, wie das Flash eingebunden wird (ich habe auch noch nie flash in Webseiten eingebaut), aber könnte es sein, dass bei der Einbindung irgendwelche PHP-Variablen verschluckt, oder zurückgesetzt werden, so dass im Vorfeld das Modul schon "ausgetrickst" wird?

Gruß Matthias

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 09.08.2007 16:28    Titel: Antworten mit Zitat

Hiho Matthias,

Das mit dem Flash war eher so gemeint, das dort die News Schlagzeilen aufgelistet sind. Also kein 'Flash' im Webdesigner Sinne.

Ich brauche die local header aus folgenden Gründen:
- dort wird das seitliche Menü definiert (über printnav etc)
- der Kalender und sein Standort werden dort eingebunden
- der Newsticker und seine Anzeige festgelegt

Also alles Sachen die auf jeder Seite zu sehen sein sollen. In die global header können diese Angaben nicht da es ein paar abweichende Rubriklayouts gibt.

Ziel ist es das Gästebuch so zu benutzen, dass der User nur ein Formular sieht und nach dem Absenden eine Bestätigung angezeigt bekommt. Ich als Admin sehe dann nur neue nicht freigegebene Einträge bei mir in der Artikelverwaltung.

Um das zu bewerkstelligen habe ich folgende Einstellungen vorgenommen:
- Entfernen von PHP/Java und Rubrikseite aus dem Artikeltemplate (also die Templatevorlagen für diese Bereiche)
- festgelegt das das Formular vor den Artikeln angezeigt wird
- nach dem Absenden soll nur die Sendebestätigung angezeigt werden (das link2edit möchte ich nicht)
- die Artikel werden noch nicht freigegeben dh. man bekommt nach dem Absenden zwei Zeilen Text zu sehen
- eine Rubrik für das Gästebuchmodul wurde ebenfalls angelegt und in die Navigation eingepflegt

Außerdem habe ich folgenden PHP Teil aus einem div Abschnitt auskommentiert (in local header php, nicht dist!):
Code:
   <?php
         if ($pagetype=='index') {
             echo '<a href="detail.php?rubric='.$cpoRubric['name'].'&action=enter">Neuen Eintrag hinzufügen</a><br /><br />';
         }
         ?>


Damit ich keinen Link zum Eintragen über dem Eingabebereich zu sehen bekomme.

Ich weiss jetzt nicht inwiefern dieser Link falsch ist, oder der neue Link aus der local header dist reinmüsste.

Das ist in etwa mein Vorhaben. Vielleicht wird jetzt ein gravierender Fehler ersichtlich den ich beim Einpflegen gemacht habe?

Achso ich habe deinen Vorschlag ausprobiert, also eingestellt das die Indexseite mit allen Artikeln angezeigt wird nach dem Eintragen. Dann kommt der Fehler nicht, oder wird nicht gezeigt.

Das Problem besteht eigentlich nur wenn ich möchte das nach dem Eintragen einfach eine Bestätigung angezeigt wird, sonst nichts, kein Zurück-Link, nichts.

Gruß,
Insane
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 09.08.2007 19:19    Titel: Antworten mit Zitat

Eigentlich kann ich an dem Vorgehen nichts falsches erkennen.

Du kannst den Link auch komplett raus nehmen, er steht ja nochmal in der .dist und im Handbuch/Online-Hilfe zum Gästebuch.

Ich weiß allerdings nicht inwieweit das ein Problem ist, dass die beiden Template-Teile leer sind.

UND was ich komisch finde, dass die Fehlermeldung gerade dann kommt, wenn du die Bestätigungsseite angezeigt haben möchtest. In diesem Fall werden gar keine Header-Informationen geändert! Die Fehlermeldung darf nicht kommen!! Ich kann es aber nochmal genau bei mir nachspielen und ausprobieren.

Du kannst für dieses Vorhaben aber auch das mod_form benutzen, was Markus hier mal vorgestellt hat, allerdings befindet es sich nur im Beta-Stadium und es gibt noch keine Lizensschlüssel zur dauerhaften Nutzung. (Jedenfalls hat Markus soweit ich weiß immer nur Testschlüssel verteilt)

Aber eigentlich müsste es auch mit dem Gästebuch funktionieren. ... komisch

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Matthias V
Modul-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1251
Wohnort: Sondershausen

BeitragVerfasst am: 09.08.2007 19:49    Titel: Antworten mit Zitat

Also bei mir funktioniert es alles so, wie du es beschrieben hast.

Du kannst ja nochmal die Dateien aus dem mod_guestbook.zip-Archiv nochmal übertragen, vielleicht gab es bei der Übertragung Probleme, oder?

Nimm mal das Template für die Rubrikseite / Indexseite, da wird dir nur etwas auf der Bestätigungsseite angezeigt, aber nicht alle vorhandenen Artikel:
Code:
<!-- ifSet: link2gb; --><!--Gästebuch Einträge anzeigen-->

<table border="1">
<tr><td colspan="2">
<a name="<!-- Value: articlenr -->"></a>
</td></tr>
<tr><td>Datum:</td><td><!-- Value: pub_date; --></td></tr>
<tr><td>Name:</td><td><!-- Value: Author; name; --></td></tr> <!-- /ifSet -->
<!-- ifSet: link2gb; --><!-- ifSet: authoremail; --><tr><td>E-Mail:</td><td>
<a href="<!-- Value: author_mod_contact; email; --><!-- ifNotSet: author_mod_contact; -->mailto:<!-- Value: Author; email_encode; --><!-- /ifNotSet -->"><!-- Value: Author; email_antispam; --></a>
</td></tr><!-- /ifSet --> <!-- /ifSet -->
<!-- ifSet: link2gb; --><!-- ifSet: Homepage; --> <tr><td>Homepage:</td><td><!-- url: Homepage; --></td></tr><!-- /ifSet --> <!-- /ifSet -->
<!-- ifSet: link2gb; --> <tr><td>Titel:</td><td><!-- Value: Title; --></td></tr>
<tr><td>Besuch:</td><td><!-- Text: Besuch; --></td></tr>
<tr><td>Nachricht:</td><td><div class="abbc"><!-- Text: Nachricht; nl2br; strip_tags; abbc;--></div></td></tr>
</table> <!-- /ifSet -->

Gruß Matthias

P.S. ausschlaggebend bei diesem Template sind die <!-- ifSet: link2gb; -->, denn diese sind nur auf der Bestätigungsseite wahr.

_________________
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Insane
ConPresso-Newbie


Anmeldungsdatum: 06.08.2007
Beiträge: 11

BeitragVerfasst am: 15.08.2007 11:35    Titel: Antworten mit Zitat

Hallo Matthias,

es lag tatsächlich an der local header. Ich habe dort folgende Zeile auskommentiert:

include_once("../_include/startfuncs.inc.php");

Ich bin mir nicht ganz sicher wozu die dort Nütze ist. Genausowenig wie bei den darauffolgenden:

include_once("../_include/function.inc.php");
include_once("../_include/connect.php");

Auf jeden Fall hat das die Problematik behoben (oder verborgen). Die Problematik mit dem Captcha hab ich in dem anderen Thread gepostet.

Gruß
Insane
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 7010

BeitragVerfasst am: 15.08.2007 11:57    Titel: Antworten mit Zitat

Diese 3 Dateien haben mit ConPresso nichts zu tun.

Offensichtlich ein Fremdsystem, das aber möglicherweise gleiche Variablen oder Klassen benutzt und somit Fehler provoziert.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Modul Guestbook (ConPresso 4) Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen