Welcome, Guest. Please login or register.
Did you miss your activation email?
May 24, 2012, 06:30:10 PM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155464 Posts in 21707 Topics by 7732 Members
Latest Member: DarrellDD
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: letztes Login anzeigen > am TT.MM.JJJJ um HH:MM  (Read 484 times)
marbu

Offline Offline

Posts: 3


« on: November 16, 2008, 03:40:18 PM »

Hallo,

ich möchte gerne den letzten Login anzeigen, im Frontend.

gibt es da schon eine Variable?

Danke
Marbu

PS: habe schon das forum durchsucht, aber irgendwie nichts gefunden
Suchwörter: Last Login ; letztes Login.....
« Last Edit: November 16, 2008, 04:04:04 PM by marbu » Logged
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #1 on: November 16, 2008, 05:01:30 PM »

Ich glaube das hat noch niemand gepostet (kann micha ber irren). Bin mir selber im Moment nicht sicher, ob das DB Feld nicht auch mit dem Login direkt überschrieben ist ...

Es gibt ein Admin Tool, was Dir solche Daten anzeigt ...

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

doc
Guest
« Reply #2 on: November 16, 2008, 05:03:51 PM »

Hallo,

so ein Snippet gibt es noch nicht. Was Du brauchst, ist eine MySQL Abfrage mit der aktuellen Benutzer-ID durchzuführen und aus der Usertabelle das Feld mit dem letzten Logindatum auszulesen. Schau Dir dazu mal das Admin Tool Userstat an.

Versuche mal folgendes Codeschnippsel in der index.php Deines Templates:
Code:
<?php
if (isset($_SESSION['USER_ID']) && is_numeric($_SESSION['USER_ID'])) {
    
// get login data of actual user from database            
    
$sql "SELECT `login_when` FROM `" TABLE_PREFIX "users` WHERE `user_id` = '" $_SESSION['USER_ID'] . "'";
    
$results $database->query($sql);
    if (
$results && $row $results->fetchRow()) {
        echo 
'Last login: ' date('d.m.Y'$row['login_when']);
    }
}
?>


Gruss Christian
« Last Edit: November 16, 2008, 05:17:13 PM by doc » Logged
marbu

Offline Offline

Posts: 3


« Reply #3 on: November 16, 2008, 05:41:16 PM »

Ersteinmal danke,

es wird das akltuelle datum und die aktuelle Uhrzeit ausgelesen.... sad

nagut das heißt dann die login.php anpassen und dann ein feld in die Datenbank einfügen....

Ich wollte es ja so.... dachte ich mache es mir mal einfach und frage die kenner von WB... lol

Vieleicht schon was für die WB 3.X ?


PS: wenn ich es mal funktionsfähig habe dann Poste ich es hier rein....

PSPS: kann mir irgendjemand sagen, wo ich die SQL-Statments finde? Sonnst muß ich ja alles durchsuchen. <<== habs gefunden
« Last Edit: November 16, 2008, 05:51:27 PM by marbu » Logged
doc
Guest
« Reply #4 on: November 16, 2008, 06:04:15 PM »

Hallo,

weiss immer noch nicht genau was Du nun eigentlich brauchst, aber mal ein modifizierte SQL Anweisung um den Eintrag für den letzten Login rauszufinden.

Code:
<?php
$sql 
"SELECT * FROM `" TABLE_PREFIX "users` ORDER BY `login_when` DESC LIMIT 1";
$results $database->query($sql);
if (
$results && $row $results->fetchRow()) {
    echo 
'Last login: ' date('d.m.Y'$row['login_when']);
}
?>


Christian
Logged
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #5 on: November 16, 2008, 06:14:18 PM »

Wird dieses Datenbankfeld nicht direkt beim Login überschrieben?

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

marbu

Offline Offline

Posts: 3


« Reply #6 on: November 16, 2008, 07:03:51 PM »

@kweitzel: der Datenbankeintrag wird beim login überschrieben überschrieben, aber....

Da ich aber das letzte Datum und IPadresse gerne gespeichert und angezeigt hätte habe ich hier mal schnell etwas geschrieben...

verbessungsvorschläge nehme ich gerne an.


Zuerst mal kurz die Datenbank editieren:
( Prefix bitte in euren prefix ändern)
Code:
ALTER TABLE `PREFIX_users` ADD `login_when_old` INT( 11 ) NOT NULL DEFAULT '0';
ALTER TABLE `PREFIX_users` ADD `login_ip_old` VARCHAR( 15 ) NOT NULL ;

Danach bitte die Datei  class.login.php editieren:
( ca in der Zeile 260 steht // Update the users table with current ip and timestam)

Danach einfügen:
Code:
//hinzugefügt anfang
            //timestamp kopiert & IP Kopiert für last_login_info 
            // gruß marbu
            $query = "SELECT * FROM ".$this->USERS_TABLE." WHERE user_id = '$user_id'";
            $results = $database->query($query);
            $results_array = $results->fetchRow();
            $num_rows = $results->numRows();
            if($num_rows) {
            $get_old_time = $results_array['login_when'];
            $get_old_ip = $results_array['login_ip'];
            $query = "UPDATE ".$this->USERS_TABLE." SET login_when_old = '$get_old_time' WHERE user_id = '$user_id'";
            $database->query($query);
            $query = "UPDATE ".$this->USERS_TABLE." SET login_ip_old = '$get_old_ip' WHERE user_id = '$user_id'";
            $database->query($query);}
            // Hinzufügen ende

und dann noch das Modul installieren..

Fertig die Anzeige:
Hallo admin Dein letzter Login: 16.11.2008 um 18:44 von 87.78.164.xx


So bei mir funktioniert es...

Gruß Marbu

PS: da ich mit WB noch nicht so fit bin, habe ich die SQL statments mal so geschrieben.
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!