Seite 1 von 2

Cannot modify header information

Verfasst: 20.01.2009 20:30
von Stakker
Ersteinmal ein herzliches "Hallo zusammen"!

Ich habe mich vor kurzem entschieden, mein erstes eigenes Board zu installieren und musste schnell feststellen, dass ich an meine Grenzen stoße (schneller, als mir lieb ist) :)

Aber wofür gibt es ein so umfangreiches Support Forum. Also habe ich schon alle Hebel in Gang gesetzt und sowohl hier im Board als auch über die Suchmaschine nach einer Problemlösung gesucht.
Dabei habe ich wirklich eine Menge an Lösungsansetzen gefunden, dennoch habe ich es bis jetzt nicht geschafft, das Problem damit zu beheben.

Problembeschreibung:

Sobald sich neue Mitglieder im Forum registrieren wollen, werden die folgenden Fehlermeldung angezeigt:
[phpBB Debug] PHP Notice: in file /includes/functions_user.php on line 1443: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/functions_user.php on line 1443: mb_ereg_search_init() [function.mb-ereg-search-init]: mbregex compile err: premature end of char-class
[phpBB Debug] PHP Notice: in file /includes/functions_user.php on line 1444: mb_ereg_search() [function.mb-ereg-search]: No regex given
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3760: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3762: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3763: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3764: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
Nun habe ich schon mehrfach die functions.php entsprechend überarbeitet. Das führte dazu, dass ich die selben Fehlermeldungen mit anderen Zeilen angezeigt bekommen habe. Selbst die Tipps, dass keine Leerzeichen in der Datei stehen dürfen, habe ich beherzigt, leider ohne einen Erfolg (außer, dass mir jetzt der Kopf brummt) :evil:

Daher habe ich jetzt die Original-Datei von functions.php wieder hochgeladen und hoffe, dass der ein oder andere noch die zündende Idee parat hat.

Ich habe die functions.php hochgeladen: http://www.dancefloor.bplaced.net/functions.txt

Würde mich über jede Hilfe freuen.

Re: Cannot modify header information

Verfasst: 20.01.2009 20:33
von Metzle
Hallo,

dein Problem liegt nicht in der Datei includes/functions.php ( das sind nur Folgefehler ), sondern in der Datei includes/functions_user.php, somit wäre es sinnig diese Datei zum Download bereitzustellen oder vielleicht entsprechende Stellen zu posten ( so um die Zeilen 1443 und 1444 rum eben ).

Re: Cannot modify header information

Verfasst: 20.01.2009 20:40
von Stakker

Re: Cannot modify header information

Verfasst: 22.01.2009 22:11
von Stakker
Hallo nochmal.

Hmm, hat denn niemand eine Idee, was zu tun ist?

Viele Grüße
Stakker

Re: Cannot modify header information

Verfasst: 27.01.2009 02:47
von Stakker
Vielen Dank für eure tatkräftige Hilfe.
Das hat mich wirklich weitergebracht.
Werde euch weiterempfehlen!

Re: Cannot modify header information

Verfasst: 27.01.2009 06:36
von gn#36
Da könntest du einen Bug gefunden haben. Ich habe den mal gemeldet => http://www.phpbb.com/bugs/phpbb3/ticket ... t_id=41175

Code: Alles auswählen

else if ($mbstring)
    {
        $matches = array();
        mb_ereg_search_init('^' . $username . '$', $regex, $matches);
        if (!mb_ereg_search())
        {
            return 'INVALID_CHARS';
        }
    }
 
Das steht so in der functions_user.php, allerdings nimmt die Funktion mb_ereg_search_init in keinem der Parameter arrays an, sondern sie erwartet strings. $matches = array() kann daher nicht korrekt funktionieren, wer auch immer sich das ausgedacht hat.

Da das ganze so ohnehin keinerlei Funktion erfüllt sollte das Problem eigentlich erst mal behoben sein, wenn du den obigen Abschnitt aus der includes/functions_user.php ersetzt durch folgendes:

Code: Alles auswählen

else if ($mbstring)
    {
        //Modified for error-correction. Replace this section if the error is fixed in a future phpBB Version!
        mb_ereg_search_init('^' . $username . '$', $regex);
        if (!mb_ereg_search())
        {
            return 'INVALID_CHARS';
        }
    } 
Diese Sektion solltest du natürlich bei Konflikten beim Update auf die nächste phpBB Version durch die neue phpBB Version ersetzen. Wenn das nicht hilft sag noch mal Bescheid und füg auch gleich einen Link zum Forum ein damit man sich das mal live ansehen kann...

Re: Cannot modify header information

Verfasst: 27.01.2009 23:54
von Stakker
Erstmal: Danke für deine Hilfe.

Aber was ich jetzt nicht verstehen kann: Wieso ist das ein Bug? Dann müssten die anderen User doch ebenfalls dieses Problem haben oder täusche ich mich da!?

Nachdem ich jetzt die Änderungen an der Datei vorgenommen habe, erscheinen die folgenden Fehlermeldungen beim Registrieren:
[phpBB Debug] PHP Notice: in file /includes/functions_user.php on line 1443: mb_ereg_search_init() [function.mb-ereg-search-init]: mbregex compile err: premature end of char-class
[phpBB Debug] PHP Notice: in file /includes/functions_user.php on line 1444: mb_ereg_search() [function.mb-ereg-search]: No regex given
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3760: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3762: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3763: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3764: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3184)
Es kann doch nicht alles verbugt sein, oder? :(

Re: Cannot modify header information

Verfasst: 28.01.2009 05:14
von gn#36
Das was ich da korrigiert habe ist definitiv ein Bug. Ich nahm allerdings an dass die übrigen Fehler alle ein Resultat dieses Fehlers waren, dem ist anscheinend nicht so.

Allerdings nutzen nicht alle PHP Versionen diese Funktion, das wird nur verwendet, wenn ganz bestimmte Bedingungen erfüllt sind und vor allem bestimmte andere nicht erfüllt sind. Das scheint bei dir der Fall zu sein, trotzdem funktioniert es aber noch nicht. Eventuell sind die anderen Parameter auch nicht so wie sie sein sollen.

Um das ganze weiter analysieren zu können brauche ich ein paar Daten von dir:
  • Was hast du für eine PHP Version (nicht phpBB, ich meine PHP, das lässt sich über das ACP im Tab "System" unter "PHP Informationen" herausfinden)
  • Welche Anforderungen für den Usernamen sind eingestellt? (Alles Erlaubt, Nur Buchstaben und Zahlen, ...)
Parallel schauen wir einfach mal was bei der Bugmeldung rauskommt vielleicht entdecken die Entwickler noch ein paar mehr Fehler an der Stelle.

Re: Cannot modify header information

Verfasst: 29.01.2009 18:45
von Stakker
Also. Die PHP Version lautet: 5.2.8

Es exisiteren keine gesperrten und/oder gebannten Benutzernamen.
E-Mail-Domain auf gültigen MX-Eintrag prüfen: ja
Passwort-Komplexität: Keine Erfordernisse
Passwortänderung erzwingen: o Tage
Maximale Anzahl an Anmeldeversuchen: 3
Erlaube PHP in Templates: nein
Maximale Zeit zur Übermittlung eines Formulars: 7200 Sekunden
Formulare an Gast-Sitzungen binden: Ja

Hoffe, dass hilft :-?

Re: Cannot modify header information

Verfasst: 29.01.2009 20:07
von gn#36
Eins von zwei ist drin ;)

In der Sektion die Probleme macht wird der Benutzername geprüft. Was hast du für Komplexitätseinstellungen für den Benutzernamen? (Zu finden unter Allgemein -> Board Konfiguration -> Registrierung -> Erlaubte Zeichen im Benutzernamen). Je nach Einstellungen passieren da in dem Bereich unterschiedliche Dinge.