Ahoi,
habe seit dem Update auf die Version 2.0.5 folgenden Fehler:
Allgemeiner Fehler
Tried obtaining data for a non-existent user
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax near 'Clear' AND user_id <> -1' at line 3
SELECT * FROM phpbb_users WHERE username = 'Mike O'Clear' AND user_id <> -1
Line : 100
File : /XXX/[...]/XXX/foren/includes/functions.php
Dieser Tritt immer dann auf, wenn sich ein User mit einem ' im Namen (z.B. O'Clear) einloggen möchte, oder ich diesen User im Adminpanel verwalten möchte.
Die Registration des Benutzernamens geht ohne Probleme und auch in den Versionen < 2.0.5 ging alles wunderbar mit diesen Benutzernamen.
Ich weiß ja, dass dieses Zeichen in PHP eine besonderere Bedeutung hat, aber ich dachte immer, dass das phpBB so programmiert wurde, dass es damit auch umgehen kann.
Das Forum hat keine MOD's und die beiden Sicherheitspatches für 2.0.5 wurden installiert.
Bitte um Hilfe, vielen Dank!
Fehler mit Zeichen ' in 2.0.5
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.
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.
hmm.. die besagte Zeile in der functions.php is..
Aber selbst damit erhalte ich auch den Fehler.
..in früheren Versionen schaut sie so aus..$sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . $user . "'" ) . " AND user_id <> " . ANONYMOUS;
$sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . str_replace("\'", "''", $user) . "'" ) . " AND user_id <> " . ANONYMOUS;
Aber selbst damit erhalte ich auch den Fehler.
Hm..
Was haben die nur mit der 2.0.5 Version gemacht. Lauter Fehler, selbst funktionierende Sachen wie das mit dem ' wurde geändert. Das versteh ich echt nicht.
Jetzt ist die Frage bei der Userabfrage, wo wird diese überall durchgeführt?
Nur einmal oder wird diese in jeder Datei durchgeführt?
So könnte man das ganze etwas eingrenzen und wieder zurückschreiben.
Weiß da jemand mehr ?
Was haben die nur mit der 2.0.5 Version gemacht. Lauter Fehler, selbst funktionierende Sachen wie das mit dem ' wurde geändert. Das versteh ich echt nicht.
Jetzt ist die Frage bei der Userabfrage, wo wird diese überall durchgeführt?
Nur einmal oder wird diese in jeder Datei durchgeführt?
So könnte man das ganze etwas eingrenzen und wieder zurückschreiben.
Weiß da jemand mehr ?