ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Probleme und Fragen / User login History


Seite 1 von 1

Dagobert schrieb am 15.02.2007 um 17:01 Uhr

Hallo,
gibt es eine Möglichkeit zu sehen, welche User sich wann bzw. als letztes eingeloggt haben? (mit IP?)

hevtig schrieb am 16.02.2007 um 00:36 Uhr

nciht wirklich. in der tb_online findest du zwar einige Einträge, aber ich weiß nicht, inwiefern das zuverlässig klappt.
Du solltest aber auch überlegen, ob so eine Kontrolle rechtens ist.

Tobi schrieb am 16.02.2007 um 16:53 Uhr

Gibts doch auch in anderen Boards.

PhoenixDH schrieb am 16.02.2007 um 17:06 Uhr

Also ich sehe bei mir im Profil des Users den Last-Login mit Zeit, allerdings nicht mit IP. Aber keine Ahnung mehr welcher Hack das war, den könntest du dir ja anpassen.

Hab mal gesucht.

Schau mal hier:
http://hacks.slware.com/tboard/showtopic.php?threadid=578&highlight=last
http://hacks.slware.com/tboard/showtopic.php?threadid=280&highlight=last

Dagobert schrieb am 19.02.2007 um 12:24 Uhr

Das ist nicht unbedingt das, was ich suche. Last Login im Profil ist klar, aber ich suche ne Admin-Funktion, dass man noch sehen kann, wann sich welcher User wann z.B. am letzten Tag eingeloggt hat.

PhoenixDH schrieb am 19.02.2007 um 20:24 Uhr

Ich sagte ja, kannste daraus das ganze Zeug nehmen und dir anpassen, spart Arbeit.

hevtig schrieb am 20.02.2007 um 22:34 Uhr

ich habe mir damals was kleines gecodet.
Allerdings nur Username, Zeitstempel und useremail

Tabelle erstellen in z.B. phpmyadmin

CREATE TABLE `tb_accesslog` (
  `accessid` int(11) NOT NULL auto_increment,
  `username` varchar(64) NOT NULL default '',
  `accesstime` int(10) NOT NULL default '0',
  `useremail` varchar(128) NOT NULL,
  PRIMARY KEY  (`accessid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1006 ;

Achtung: hier beim Erstellen der Tabelle bin ich davon ausgegangen, daß tb_ das prefix ist!


in die do_login.php
vor

message_redirect('Sie wurden erfolgreich eingeloggt, bitte warten ...', $source);

das hier einfügen


##########################ACCESS LOG########################################
$time= time ();
$r_useremail = thwb_query ("SELECT  useremail FROM ".$pref."user WHERE username='$login_name'") ;
        while( $useremail = mysql_fetch_row($r_useremail) )
        {
                $loginemail=$useremail[0];
        }

thwb_query("INSERT INTO ".$pref."accesslog (username, accesstime, useremail)
                VALUES(
                '".addslashes($login_name)."',
                '$time',
                '$loginemail')");
#############################################################################

Code für die 2.81 ;)

Ich denke mal, daß du da auch die IP reinbekommst.

Ergebnis:
Du bekommst eine einfache, kleine Liste, die du schön exportieren und z.B. in Excel importieren kannst.
Den Timestamp bekommst du dann in "echte" Zeit umgewandelt
(Zelle muß mit datum formatiert sein)
wenn in A1 die Unix Zeit steht, dann in B1
=A1/(60*60*24)+25569
und B1 entsprechend als Datum mit Zeit formatieren...


Mit ein bisschen Mühe kannst du dir evtl. auch eine Seite im Admincenter basten, die dasselbe anzeigt. Ich habe das nie gebraucht, bzw. keine Zeit dafür gehabt...

Grüße

Seite 1 von 1