Seite 2 von 2

Verfasst: 11.09.2007 14:51
von nickvergessen
Allerdings hat man dann 'n Haufen unsichtbarer User und viel klick arbeit, naja mir ist es egalt

Verfasst: 05.05.2008 04:31
von issjut
Hallo,

ich habe eine Art Onlinebox (alle User die gerade online sind werden in einer Liste angezeigt) auf jeder Seite meines Forums eingebaut.

Hier mal ein Foto:
[ externes Bild ]

Leider werde dort diese doofen Bots nicht los.
Was immerhin schon funktioniert ist, dass sie nicht oben bei ONLINE mitgezählt werden :D

Kann mir Jemand (nach dem Prinzip des Hacks von Dr.Death) sagen, was ich hier ändern muss damit die Bots auch in dieser Darstellung nicht mehr angezeigt werden?

Hier ist der Code den ich in die functions.php eingefügt habe.

onlinebox.text

Verfasst: 05.05.2008 10:18
von nickvergessen

Code: Alles auswählen

AND u.user_type <> ' . USER_IGNORE . '
und denk nächstes mal an die 20 Zeilen Code

Verfasst: 05.05.2008 11:54
von issjut
Danke für die Hilfe und den Hinweis... habe es verbessert

Irgendwie funktionierte das aber nicht so ganz... bekomme nen Error
habe jetzt nur entsprechende Zeile gelöscht

Code: Alles auswählen

SQL ERROR [ mysql4 ]

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 [1064]

SQL

SELECT u.username, u.user_id, u.user_type, u.user_allow_viewonline, u.user_colour, s.session_ip, s.session_viewonline FROM phpbb_users u, phpbb_sessions s WHERE s.session_time >= 1209980729 AND s.session_user_id <> 1 AND u.user_id = s.session_user_id OR u.user_id = 1) ORDER BY u.username ASC, s.session_ip ASC

BACKTRACE

FILE: includes/db/mysql.php
LINE: 158
CALL: dbal_mysql->sql_error()

FILE: includes/functions.php
LINE: 3588
CALL: dbal_mysql->sql_query()

FILE: persinfo.php
LINE: 350
CALL: page_header()

Verfasst: 05.05.2008 14:26
von nickvergessen
Original war:

Code: Alles auswählen

   WHERE u.user_id = s.session_user_id
      AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
      ' AND s.session_user_id <> ' . ANONYMOUS . '
   ORDER BY u.username';
ersetz das einfach mal mit:

Code: Alles auswählen

   WHERE u.user_id = s.session_user_id
      AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
      ' AND s.session_user_id <> ' . ANONYMOUS . ' AND u.user_type <> ' . USER_IGNORE . '
   ORDER BY u.username';

Verfasst: 05.05.2008 14:39
von issjut
BINGO :D
Hat funktioniert
Vielen Dank!