Seite 1 von 1
Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 07.04.2009 23:11
von Ninos
sers,
ich verwende die Boardversion phpbb 3.04 und hätte da gerne ne Frage geklärt

^^
Ich will ein Loginhistoryskript basteln, das zum Biespiel die Userid und Username gleich nach dem Login in der Datenbank speichert.
Das mit dem speichern ist kein Problem, habe einfach in der Datei ucp.php nach den Zeilen
Code: Alles auswählen
case 'login':
if ($user->data['is_registered'])
{
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
paar Befehle hinzugefügt.
Am Anfang des Skriptes steht noch das dran:
Code: Alles auswählen
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
$user->setup('staemme');
$userid=$user->data['user_id'];
$username=$user->data['username'];
Und in der DB will ich §userid und §username speichern.
Das Problem aber ist, dass er die als Anomymous und 1, also die Gastwerte speichert.
Was kann ich tun?
Hab auch schon versucht die Sessonabfrage kurz vor dem Eintragen der Daten in die Datenbank einzubauen, brachte aber leider auch nichts

Könnte mir diesbezüglich vielleicht jemand helfen?
Wäre sehr nett, wenn mir jemand helfen könnte.
lg. und danke schonmals,
Ninos
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 07.04.2009 23:13
von Pyramide
Ninos hat geschrieben:habe einfach in der Datei ucp.php nach den Zeilen [...] paar Befehle hinzugefügt.
Interessant wäre jetzt zu wissen, wie diese "paar Befehle" aussehen, ansonsten kann man schlecht feststellen, wo du den Fehler gemacht hast.
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 07.04.2009 23:17
von Ninos
mom^^
Code: Alles auswählen
case 'login':
if ($user->data['is_registered'])
{
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
//Verbindung zur Datenbank
include ('config.php');
$verbindung = mysql_connect("$dbhost","$dbuser","$dbpasswd")
or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
mysql_select_db("$dbname")
or die ("Die Datenbank existiert nicht.");
//Hinzufügen der Daten in die Datenbank
$eintrag = "INSERT INTO ".$table_prefix."login_logouthistory(username, user_id, timestamp, datum, ip, from_site, browser, hoster, login_logout)
VALUES
('$username', '$userid', '$timestamp', '$logindatum', '$ip', '$from_site', '$browser', '$hoster', 'Login')";
$eintragen = mysql_query($eintrag);
//Verbindung schließen
mysql_close($verbindung);
login_box(request_var('redirect', "index.$phpEx"));
break;
Da ist alles richtig, zumindest beim eintragen in die DB, nur werden in der $userid und $username die Gastdaten gespeichert...
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 07.04.2009 23:32
von coolsoft
das in der ucp.php????
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 08.04.2009 11:10
von Ninos
jepp
per include hatte es Probleme, da hat der die nie iengetragen, außer ich hab die Seite dann wieder aktualisiert...
Wieso?
gibt es auch noch ne ander Möglichkeit das gleich nach dem Login zu machen in ner anderen Datei?
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 13.04.2009 19:52
von Ninos
weis niemand, woran das liegtoder wie ich das Problem beheben kann?

Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 13.04.2009 21:08
von Dr.Death
Hi,
da ist ein logischer Fehler drin....
Code: Alles auswählen
if ($user->data['is_registered'])
{
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
}
Übersetzt:
Wenn der User registriert ( also eingeloggt ist ), führe ihn auf die index.php
Du hast
nach dieser IF Abfrage Deinen Code eingebaut..... aber bis dahin kam der eingloggte User ja nie....
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 13.04.2009 21:23
von Ninos
wenn ich mein DB Eintrag aber in die ifanweisung mit einbaue kurz vor
Code: Alles auswählen
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
dann trägt er das erst gar ned in die Datenbank ein, also fürt meine Abfrage erst gar ned durch
hast du noch ne Idee parat?
und wenn ich mich nicht irre, ist diese Irranweisung nur eine Abfrage, ob der User schon angemeldet ist, wenn ja, dann wird er zum Index weitergeleitet, ansonsten wird das Skript durchgeführt, oder irre ich mich da etwa?
lg. und danke schonmal,
Ninos
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 13.05.2009 10:19
von djchrisnet
functions.php function login_box() (ab zeile 2456)
nach der zeile
Code: Alles auswählen
// The result parameter is always an array, holding the relevant information...
if ($result['status'] == LOGIN_SUCCESS)
{
ist der user eingeloggt.
$username beinhaltet den usernamen
du kannst aber auch $user->data nutzen, da die session durch $auth->login() bereits erstellt ist
und dann bitte den vorhandenen db-link nutzen $db->query();
Re: Sesson nach Login gleich aktualisieren und verwenden
Verfasst: 17.05.2009 15:54
von Ninos
klappt super, danke
lg. Ninos