Who is online? - Anzeige, Fehlermeldung

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
svend
Mitglied
Beiträge: 23
Registriert: 27.12.2005 18:19
Wohnort: Koblenz
Kontaktdaten:

Who is online? - Anzeige, Fehlermeldung

Beitrag von svend »

hallo,
ich habe ein problem mit der "Wer ist online?"-anzeige in meinem forum. klickt man darauf, sollte ja eigentlich eine übersicht angezeigt werden, welcher user gerade wo ist. bei mir gibts ne fehlermeldung ..

Could not obtain regd user/online information

DEBUG MODE

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 'ORDER BY u.username ASC, s.session_ip ASC' at line 5

SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip FROM phpbb_users u, phpbb_sessions s WHERE u.user_id = s.session_user_id AND ( s.session_time >= 1148215478 ORDER BY u.username ASC, s.session_ip ASC

Line : 89
File : viewonline.php
soweit ich das feststellen kann, ist in der viewonline.php aber alles in ordnung. um die zeile 89 herum steht:
//
// Get auth data
//
$is_auth_ary = array();
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);

//
// Get user list
//
$sql = "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND ( s.session_time >= ".( time() - 300 ) . "
ORDER BY u.username ASC, s.session_ip ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain regd user/online information', '', __LINE__, __FILE__, $sql);
}
ich wär' dankbar, wenn jemand mir helfen könnte.

gruß,
sven
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Balint »

Hi!

Ich hab jetzt mal Deine Version und das Original aus 2.0.20 verglichen.

In der Zeile, die mit AND anfängt, steht bei mir

Code: Alles auswählen

AND s.session_time >= ".( time() - 300 ) . "
also vor s.session_time ist keine öffnende Klammer. Vielleicht versuchst du das mal zu ändern... :)


Viele Grüße,
Bálint
svend
Mitglied
Beiträge: 23
Registriert: 27.12.2005 18:19
Wohnort: Koblenz
Kontaktdaten:

Beitrag von svend »

oh man, ich dank' dir. ich hatte meinen code auch mit dem original verglichen aber die klammer ist mir nicht aufgefallen. klammer weg -> funktioniert. danke!
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Balint »

Hi!

Empfehlung für sowas: Beyond Compare. Sonst wäre mir das auch nicht aufgefallen. Schön, das es funzt...


Bálint
clausi
Mitglied
Beiträge: 2
Registriert: 13.09.2006 17:43

Beitrag von clausi »

wo kann man denn einstellen, dass bei wer ist online nicht die user angezeigt werden, die die letzten 5 min onlinen waren, sondern die die in den letzten 15 min online waren.

wenn ich

AND s.session_time >= ".( time() - 300 ) . "

auf 900 hochsetze bringt das nichts. zumindestens nicht wenn ich mich auslogge und direkt nachschaue
Antworten

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