Seite 1 von 3

Login Problem nach update auf 2.0.11

Verfasst: 23.11.2004 11:26
von TheSteffen
Hi,

ich habe schon alles mögliche durchgelesen...kann den Fehler leider nicht finden. :(

Bekomme nach update auf 2.0.11 über http://www.phpbbhacks.com/forums/viewtopic.php?t=40590

und dann kontrolliert und geändert (der functions.php) mit
http://www.phpbb.com/phpBB/viewtopic.php?t=240611

Die Datei hab ich im richtigen Ordner (usercp_confirm.php) und diese hab ich auch erfolgreich ausgeführt (update_to_2011.php)...in der Datenbank ist die Tabelle angelegt. In der Datenbank steht unter phpbb_config...enable_confirm der Wert 0

Die Fehlermeldung ist:

Code: Alles auswählen

Warning: Wrong parameter count for rtrim() in /data/httpd/htdocs/phpBB2/includes/functions.php on line 80

Warning: Cannot add header information - headers already sent by (output started at /data/httpd/htdocs/phpBB2/includes/functions.php:80) in /data/httpd/htdocs/phpBB2/includes/page_header.php on line 582

Warning: Cannot add header information - headers already sent by (output started at /data/httpd/htdocs/phpBB2/includes/functions.php:80) in /data/httpd/htdocs/phpBB2/includes/page_header.php on line 584

Warning: Cannot add header information - headers already sent by (output started at /data/httpd/htdocs/phpBB2/includes/functions.php:80) in /data/httpd/htdocs/phpBB2/includes/page_header.php on line 585
Zimbo Diskussionsforum Foren-Übersicht
Um der Zeile 80 herum steht:

Code: Alles auswählen

// added at phpBB 2.0.11 to properly format the username
function phpbb_clean_username($username)
{
   $username = htmlspecialchars(rtrim(trim($username), "\\"));
   $username = substr(str_replace("\\'", "'", $username), 0, 25);
   $username = str_replace("'", "\\'", $username);

   return $username;
}
Ich bettele um Hilfe :wink:

1000 Dank

Verfasst: 23.11.2004 11:31
von TheSteffen
Nachtrag
als Login Fehler kommt auch:

Code: Alles auswählen

falschen oder inaktiven Benutzernamen eingegeben

Verfasst: 23.11.2004 11:50
von Christian_W
Den Nachtrag das nächste Mal in den Ersten Beitrag reineditieren.

Verlinke mal die login.php
KB:datei

Gruß Christian

Verfasst: 23.11.2004 12:02
von TheSteffen
1. Sorry, nicht dran gedacht

2. http://www.zim.goe.net/login.txt

Verfasst: 23.11.2004 12:19
von klunzen
genau das selbige problem habe ich auch.
sowohl, dass mit dem falschen benutzernamen, als auch das mit dem headers already sent..

bin gespannt an was das liegt!

Verfasst: 23.11.2004 13:43
von Christian_W
Hm, die login.php ist in Ordnung.
Der von Dir gepostete Absatz ist in der functions.php so enthalten?

Mal sehen, was da an die Funktion phpbb_clean_username() übergeben wird.
Mit der folgenden Änderung wird der Login-Vorgang abgebrochen und Name und Passwort im Klartext ausgegeben.
Mach die Änderungen, versuch Dich einzuloggen (mit Name:test und PW:1234), kopiere die Ausgabe die Du bekommst und mach die Änderung wieder rückgängig.
Die Ausgabe sollte dann etwa so aussehen:

Code: Alles auswählen

Array
(
    [username] => test
    [password] => 1234
    [login] => Login
)
Die Ausgabe dann hier posten.

Code: Alles auswählen

---- öffne ----
login.php

---- finde ----
if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
{

--- füge danach ein ----
echo '<pre>';
print_r ($HTTP_POST_VARS);
echo '</pre>';
die();
Gruß Christian

Verfasst: 23.11.2004 14:19
von TheSteffen
Es wird dann das ausgegeben

Code: Alles auswählen

Array
(
    [username] => Test
    [password] => 1234
    [autologin] => on
    [redirect] => 
    [login] => Login
)

Verfasst: 23.11.2004 14:41
von Christian_W
Passt auch. Nächster Test mit der functions.php
Selbe Vorgehensweise wie eben:

Code: Alles auswählen

---- öffne ----
includes/functions.php

---- finde ----
function phpbb_clean_username($username)
{

---- füge danach ein ----
echo 'In Funktion phpbb_clean_username:';
echo '<br>Name: ' . $username;
echo '<br>Name (trim): ' . trim($username);
echo '<br>Name (trim, rtrim): ' . rtrim(trim($username), "\\");
echo '<br>Name (trim, rtrim, htmlspecialchars): ' . htmlspecialchars(rtrim(trim($username), "\\"));
die();
Gruß Christian

Verfasst: 23.11.2004 14:48
von TheSteffen
Dank dir schon einmal, dass du dir die Zeit nimmst.

Dann kommt:

Code: Alles auswählen

In Funktion phpbb_clean_username:
Name: Test
Name (trim): Test
Warning: Wrong parameter count for rtrim() in /data/httpd/htdocs/phpBB2/includes/functions.php on line 84

Name (trim, rtrim):
Warning: Wrong parameter count for rtrim() in /data/httpd/htdocs/phpBB2/includes/functions.php on line 85

Name (trim, rtrim, htmlspecialchars):

Verfasst: 23.11.2004 15:18
von Christian_W
Welche PHP-Version läuft denn bei Dir? (KB:phpinfo)
Offenbar tritt der Fehler auf wenn die Version läter als PHP4.1 ist.

Gruß Christian