Admin reminder 1.0.7 der Punkt Letzter Besuch mit falschem
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Admin reminder 1.0.7 der Punkt Letzter Besuch mit falschem
Hallo,
bei meinem Forum wird im Admin reminder 1.0.7 der Punkt "Letzter Besuch" mit falschem Datum angezeigt.
Die Lösung hier fällt weg, da ich nicht den LastVisit Mod eingebaut habe.
Was kann man den machen wenn man nicht den LastVisit Mod eingebaut hat und somit auch nicht das user_lastlogon zur Verfügung hat?
bei meinem Forum wird im Admin reminder 1.0.7 der Punkt "Letzter Besuch" mit falschem Datum angezeigt.
Die Lösung hier fällt weg, da ich nicht den LastVisit Mod eingebaut habe.
Was kann man den machen wenn man nicht den LastVisit Mod eingebaut hat und somit auch nicht das user_lastlogon zur Verfügung hat?
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Das Feld "user_lastvisit" ist dann das Einzigste, was dafür verfügbar ist.
Allerdings wird das meines Wissens nur neu geschrieben, wenn man sich am Board auch neu anmeldet oder die Session abläuft.
Es kann also dann "vermeintlich" falsch sein...
Allerdings wird das meines Wissens nur neu geschrieben, wenn man sich am Board auch neu anmeldet oder die Session abläuft.
Es kann also dann "vermeintlich" falsch sein...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Also keine Lösung des Problems in Sicht schade.
Dann ist der Mod ja quasi teilweise nutzlos. Hätte ich das mal vorher gewusst.
Da fällt mir ein, der Zähler der Benachrichtigungen wird ja zurückgesetzt wenn der User nach der Mail wieder ins Forum kommt. Kann man darüber nichts machen?
EDIT:
Was ist denn wenn man in der admin_reminder.php statt
user_lastvisit
einfach
user_session_time
nimmt? Ist das machbar? Funktioniert das? Oder kommt es dann zu Problemen?
Dann ist der Mod ja quasi teilweise nutzlos. Hätte ich das mal vorher gewusst.
Da fällt mir ein, der Zähler der Benachrichtigungen wird ja zurückgesetzt wenn der User nach der Mail wieder ins Forum kommt. Kann man darüber nichts machen?
EDIT:
Was ist denn wenn man in der admin_reminder.php statt
user_lastvisit
einfach
user_session_time
nimmt? Ist das machbar? Funktioniert das? Oder kommt es dann zu Problemen?
Zuletzt geändert von felix am Di 15.Mai, 2007 22:50, insgesamt 2-mal geändert.
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Ausprobieren.
Ich habe mich mit den User-Zeiten bislang noch nicht so intensiv beschäftigt...
Ich habe mich mit den User-Zeiten bislang noch nicht so intensiv beschäftigt...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Ich habe es mal versucht. Scheint zu funktionieren.
Es kommen teilweise doch erheblich andere Zeiten heraus als mit user_lastvisit.
Kann es denn zu Problemen kommen wenn ich denn nun user_session_time benutze? Ist das ein Sicherheitsrisiko?
Ich hänge die geänderte admin_reminder.php mal an.
Da ich nicht viel Ahnung von php habe, frage ich lieber mal.
Es kommen teilweise doch erheblich andere Zeiten heraus als mit user_lastvisit.
Kann es denn zu Problemen kommen wenn ich denn nun user_session_time benutze? Ist das ein Sicherheitsrisiko?
Ich hänge die geänderte admin_reminder.php mal an.
Da ich nicht viel Ahnung von php habe, frage ich lieber mal.
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Nein, ein Sicherheitsrisiko ist es nicht, ein Feld in einer Abfrage gegen ein anderes auszutauschen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Die Sessions laufen nach einer gewissen (im ACP eingestellten) Zeit ab, der User kann sich aber zwischendurch auch selber ab- und wieder anmelden.
Dazu wird bei einem neuen Scriptaufruf die Session_Time meist neu geschrieben und ist daher "zeitnäher", sagt aber nicht unbedingt was zum letzten Anmeldezeitpunkt aus.
Genauer wäre hier wirklich der Wert user_lastvisit...
Dazu wird bei einem neuen Scriptaufruf die Session_Time meist neu geschrieben und ist daher "zeitnäher", sagt aber nicht unbedingt was zum letzten Anmeldezeitpunkt aus.
Genauer wäre hier wirklich der Wert user_lastvisit...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
user_lastvisit ist der Zeitpunkt des letzten logins (start der letzten session die von einem user genutzt wurde) und user_session_time ist der Zeitpunkt an dem die Sessions das letzte mal aktualisiert wurde.
Das bedeutet aber nicht das user_session_time der letzte Zeitpunkt ist, an dem der User auf dem Board war. Denn die session_time wird (wie oxpus schon geschrieben hat) nicht immer aktualisiert.
Das bedeutet aber nicht das user_session_time der letzte Zeitpunkt ist, an dem der User auf dem Board war. Denn die session_time wird (wie oxpus schon geschrieben hat) nicht immer aktualisiert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
Danke euch beiden für die Ausführungen.
Habe mal weiter gesucht...
Was meint ihr denn dazu?
http://www.phpbb.de/viewtopic.php?t=34306
Habe mal weiter gesucht...
Was meint ihr denn dazu?
http://www.phpbb.de/viewtopic.php?t=34306
Zuletzt geändert von felix am Mi 16.Mai, 2007 23:54, insgesamt 2-mal geändert.
Mir ist überhaupt nicht klar warum über diesen Dusseligen wert immer wieder Diskutiert wird.
Das user_lastvisit nur gesetzt wird wenn der user die cookies deaktiviert hat ist Blödsinn. Da hat sich wohl jemand von den Kommentaren in der session.php irritieren lassen.
Vielleicht war das in einer alten Version des phpBB mal anders. Aber hier wird ganz klar die Datenbank konsultiert uind geschrieben werden die werte, etwas später, erst in die DB und dann ins Cookie.
Das user_lastvisit nur gesetzt wird wenn der user die cookies deaktiviert hat ist Blödsinn. Da hat sich wohl jemand von den Kommentaren in der session.php irritieren lassen.
Code: Alles auswählen
//
// Try and pull the last time stored in a cookie, if it exists
//
$sql = "SELECT *
FROM " . USERS_TABLE . "
WHERE user_id = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Could not obtain lastvisit data from user table', '', __LINE__, __FILE__, $sql);
}
$userdata = $db->sql_fetchrow($result);Code: Alles auswählen
if ( $user_id != ANONYMOUS )
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
}
$userdata['user_lastvisit'] = $last_visit;
$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
$sessiondata['userid'] = $user_id;
}
$userdata['session_id'] = $session_id;
$userdata['session_ip'] = $user_ip;
$userdata['session_user_id'] = $user_id;
$userdata['session_logged_in'] = $login;
$userdata['session_page'] = $page_id;
$userdata['session_start'] = $current_time;
$userdata['session_time'] = $current_time;
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Sagte ich ja auch bereits schon in Post #2: Wenn man sich "abmeldet" oder die Session abläuft wird hier neu geschrieben.
Daher ist der Wert immer etwas "krumm".
Daher ist der Wert immer etwas "krumm".
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Danke für die Erläuterungen.
Ich habe z.B. einen User der war mit dem Wert aus der user_lastvisit das letzte mal im Oktober 2006 im Forum.
Mit dem Wert aus der user_session_time wird aber das richtige Datum angezeigt, 15.05.07.
Anscheinend ist es ja fast "egal" welchen Wert man nun abfragt, es kommt wohl immer zu Verfälschungen.
Ich habe z.B. einen User der war mit dem Wert aus der user_lastvisit das letzte mal im Oktober 2006 im Forum.
Mit dem Wert aus der user_session_time wird aber das richtige Datum angezeigt, 15.05.07.
Anscheinend ist es ja fast "egal" welchen Wert man nun abfragt, es kommt wohl immer zu Verfälschungen.
Ein solch massiver Unterschied ist aber sehr ungewöhnlich und dürfte es eigentlich gar nicht geben! 
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]
______________________________________
Kein Support per PM, ICQ oder eMail!!![/center]