Seite 1 von 1

[erledigt] Problem mit PhpBB 2.0.22 und Php5

Verfasst: 04.08.2007 05:11
von friedels-home
Hallo.
Mein Board funjktionierte bisher mit Php4 einwandfei. Mein Hoster bietet vorübergehend die Möglichkeit zu wählen, ob ich Php5 oder Php4 benutzen will. Aber zum Jahresende will er alles auf Php5 umstellen. Vor ein paar Stunden habe ich auf Php5 umgestellt. Zunächst schin alles OK zu sein. Aber vorhin wollte ich einen Beitrag editieren und habe eine Fehlermeldung bekommen. Die Vorschau funktioniert, aber das Abspeichern nicht. Die Fehlermeldung lautete:

Error in posting

DEBUG MODE

UPDATE phpbb_posts_text SET post_text = 'Text entfernt', bbcode_uid = 'f9f5f78170', post_subject = '' WHERE post_id = 3905

Line : 264
File : functions_post.php
An der Stelle, wo ich in Rot Text entfernt eingefügt habe, stand der Text des Postings. Auffällig an diesem Text war, dass die BBcode-Tags verändert waren. So stand da z.B. [size=14:f9f5f78170] wo im Text stand. Diese Nummer war bei allen BBcode-Tags ergänzt.

Zeile 264 der functions_post.php lautet
$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message', bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
(Das rote ist Zeile 264.)

Mit Php4 kann ich editieren. Mit Php5 kann ich andere Beiträge auch editieren, aber diesen nicht. Was muss ich machen, damit auch unter Php5 alles funktioniert?

Leider kenne ich mich mit Php nicht aus.

Folgende Mods sind eingebaut:
  • Advanced Visual Confirmation Mod
  • Change_User_MOD
  • Cracker Tracker Professional G5 5.0.3
  • DB Maintenance Mod
  • der Humanizer
  • Enhanced Poll
  • Java Skript Error Blocker
  • Letzter Login
  • Simple Admin Userlist
  • UploadPic MOD

Verfasst: 04.08.2007 11:49
von S2B
Zuerst einmal: Dass an die BBCodes eine ID angehängt wird, ist ganz normal (siehe KB:bbcode_uid).

Nun aber zu deinem Problem: Ist das wirklich die komplette Fehlermeldung, die ausgegeben wurde? Normal wird da immer noch eine Fehlermeldung von der Datenbank ausgegeben, z.B. sowas:
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
Falls das die komplette Fehlermeldung war, wäre interessant, welche Datenbank bzw. welchen SQL-Layer du verwendest (steht in der config.php in der Variable $dbms).

Verfasst: 04.08.2007 11:53
von friedels-home
Ja, das ist die ganze Fehlermeldung.

Danke für den Link wegen der bbcode_uid. Die hat dann mit dem Problem wohl nichts zu tun.

Verfasst: 04.08.2007 12:04
von S2B
S2B hat geschrieben:Falls das die komplette Fehlermeldung war, wäre interessant, welche Datenbank bzw. welchen SQL-Layer du verwendest (steht in der config.php in der Variable $dbms).

Verfasst: 04.08.2007 12:17
von friedels-home
LOL. Da hats jemand eilig. Das wollte ich gerade nachsehen.

Das Problem ist gelöst. register_globals war bisher aktiviert. So hat es unter Php4 auch funktioniert. Ich habe jetzt wieder auf Php5 umgestellt und register_globals deaktiviert. Jetzt geht es auch mit Php5. Mir ist jetzt erst aufgefallen, dass im recht langen Text an 4 Stellen ein einfaches Anführungszeichen ist, das als Problemursache in Frage kommt.

Danke für die Bemühungen.