ERLEDIGT: HTML nur in der Vorschau korrekt angezeigt?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

ERLEDIGT: HTML nur in der Vorschau korrekt angezeigt?

Beitrag von K1ckEM »

Hi!

Ich habe versucht, in meinem Forum (neueste Version) Eine Tabelle in HTML zu erstellen. Nachdem ich das bekannte Problem mit den leerzeilen über der Tabelle hatte habe ich den Table-Fix von Acid installiert.

Der funzt auch wunderbar, nur wird mir die Tabelle nur in der VORSCHAU korrekt angezeigt. Wenn ich den Thread dann poste (ja, HTML ist weiterhin AN) und ihn dann erneut aufrufe, werden alle HTML Tags als Text dargestellt.

Habs auch mit anderen HTML Tags probiert überall das gleiche. Und ja, im Adminbereich sind die entsprechenden Tags erlaubt.

Weis jemand Rat?
Zuletzt geändert von K1ckEM am 15.04.2007 21:43, insgesamt 1-mal geändert.
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

Beitrag von K1ckEM »

*schieb* (24 h vergangen)
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Hast Du evtl. einen Fehler beim Einbau dieses Hacks gemacht?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

Beitrag von K1ckEM »

Nein, leider nicht. Hab eben mein (unverändertes) Backup der posting.php wieder hochgeschoben. Keine Veränderung.

In welcher Datei könnte den der Fehler liegen? vielleicht find ich was anderes..
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

Beitrag von K1ckEM »

Ein letzter Versuch: *schieb*
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

Beitrag von K1ckEM »

Bin leider immer noch keinen Schritt weitergekommen.

Kann mir vielleicht ein Profi sagen, in welchem Bereich ich suchen sollte? Ich durchschau php nicht wirklich, aber vielleicht kann ich den fehler eingrenzen.

Also nochmal: Html funktioniert in der Vorschau wunderbar, die Befehle sind freigegeben, html ist eingeschaltet. wenn man aber sendet, wird der html Code mit angezeigt und nicht umgesetzt.

Für Hilfe wäre ich sehr dankbar, da ich html unbedingt benutzten muss, um mein Board-Konzept so umzusetzen. Danke!!!

Edit: Schlechte Forumulierung geändert.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ein erster Schritt wäre wohl ein Blick in die Datenbank. Dort kannst du schon mal nachsehen, in welcher Form der Code gespeichert wird (Achte insbesondere darauf, ob hier vielleicht bereits Änderungen zu deiner Eingabe passieren, z.b. dass statt < in der Datenbank & l t ; (natürlich zusammen, aber das wird sonst ersetzt) steht, so dass das von vorneherein schon nicht mehr korrekt interpretiert werden kann.

Die Funktionen zum Umwandeln des Codes befinden sich in der functions_post.php und evtl. der bbcode.php. Hast du an einer dieser Dateien Änderungen vorgenommen (z.b. bei einem Mod)?

Hast du kontrolliert ob das Häkchen bei HTML an immer noch gesetzt ist nachdem du die Vorschau benutzt hast? Evtl. liegt der Fehler nämlich auch in der posting.php Datei. Dieser Fehler müsste sich durch eine kleine Codezeile in der functions_post.php zumindest ein wenig eingrenzen lassen indem wir einfach kontrollieren ob beim Aufruf der Funktion zur Prüfung des Codes testen, ob HTML als "aktiviert" übergeben wird. Schau aber erst mal in die Datenbank.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

Beitrag von K1ckEM »

Danke erstmal für die Antwort!
gn#36 hat geschrieben:Ein erster Schritt wäre wohl ein Blick in die Datenbank...
Hab ich gerade gemacht, ist korrekt, also ohne Umwandlung eingetragen.

gn#36 hat geschrieben: Die Funktionen zum Umwandeln des Codes befinden sich in der functions_post.php und evtl. der bbcode.php. Hast du an einer dieser Dateien Änderungen vorgenommen (z.b. bei einem Mod)?
Nicht das ich wüsste, aber ich fang gleich zu suchen an.
gn#36 hat geschrieben: Hast du kontrolliert ob das Häkchen bei HTML an immer noch gesetzt ist nachdem du die Vorschau benutzt hast?
Jap. Es ist noch gesetzt.

Ich such mal in den genannten Datein weiter.


EDIT: Hab eben was interessantes herausgefunden. In meinem Profil habe ich "HTML immer aktivieren" gesetzt. Da konnte ich plötzlich die Threads korrekt anzeigen.

Ich dachte, diese Option bezieht sich darauf, das beim posten einer Nachricht HTML immer schon an ist, und man es nicht erst per Häckchen "anklicken" muss... ?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

So ähnlich sollte es auch funktionieren.

Wenn ich mich nicht irre liegt das an dieser Zeile der posting.php:

Code: Alles auswählen

$html_on = ( $submit || $refresh ) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
Die ist für den Status "erlaubt" / "verboten" zuständig (mit einer Abfrage die Prüft ob im Board HTML überhaupt erlaubt ist).

Wobei ich mir gerade mal die viewtopic.php angesehen habe und da ein wenig über diese Stelle stolpere:

Code: Alles auswählen

	//
	// If the board has HTML off but the post has HTML
	// on then we process it, else leave it alone
	//
	if ( !$board_config['allow_html'] || !$userdata['user_allowhtml'])
	{
		if ( $user_sig != '' )
		{
			$user_sig = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $user_sig);
		}

		if ( $postrow[$i]['enable_html'] )
		{
			$message = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $message);
		}
	}
Danach entscheidet die Einstellung des Users im Profil, ob HTML dargestellt wird oder nicht. Es müssen also gewissermaßen beide Zustimmen, Autor und User, damit HTML angezeigt wird. Das könnte jetzt interessanterweise dazu führen, dass HTML beim Gast angezeigt wird und bei den Registrierten Usern nicht, denn wenn beim Gast HTML aktiviert sein sollte, dann bekommt er es auch angezeigt...
Willst du das ändern sollte es genügen, einfach diesen Code aus der obigen Stelle zu entfernen:

Code: Alles auswählen

|| !$userdata['user_allowhtml']
(alle Klammern da lassen wo sie sind und alles vor der Änderung sichern!)
Das sollte eigentlich dann bewirken, dass HTML immer angezeigt wird, unabhängig von den Usereinstellungen. Warum das so seltsam voreingestellt ist weiß ich nicht.
Ich habe auch mal eine kleine Modifikation gebastelt, die HTML nur für bestimmte User zulässt (z.b. nur Admins oder eine bestimmte Gruppe, ganz nach Wunsch). Falls du da dran Interesse hast solltest du mal hier im Forum danach suchen...
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
K1ckEM
Mitglied
Beiträge: 18
Registriert: 11.01.2007 13:30
Kontaktdaten:

Beitrag von K1ckEM »

gn#36 hat geschrieben: ...Danach entscheidet die Einstellung des Users im Profil, ob HTML dargestellt wird oder nicht. Es müssen also gewissermaßen beide Zustimmen, Autor und User, damit HTML angezeigt wird. Das könnte jetzt interessanterweise dazu führen, dass HTML beim Gast angezeigt wird und bei den Registrierten Usern nicht, denn wenn beim Gast HTML aktiviert sein sollte, dann bekommt er es auch angezeigt...
Jeah, das ist echt komisch. Hab jetzt von Hand alle User (Board ist noch nicht veröffentlicht, sind erst 10 :) auf "HTML an" gestellt und Standart für neue User ist das auch.

Trotzdem komisch, das dieses Häckechen im Profil sich auch auf das Anzeigen von HTML bezieht. Macht doch irgendwie keinen Sinn... Danke für deinen Tip mit "|| !$userdata['user_allowhtml'] " löschen, werd das mal ausprobieren. Problem gelöst :)
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“