Seite 1 von 2

Anzeige wieviel neue Beiträge

Verfasst: 04.08.2011 12:46
von eumelchen
Hallo zusammen,

ich habe seit einger Zeit in meinem Forum das Snippet eingebaut das in der index_body anzeigt:
Seit Deinem letzten Besuch gab es XX neue Beiträge

Nachdem ich am letzten Wochenende mein Update auf 3.0.9 gemacht habe zeigt sich folgender Fehler:

Wenn man das Forum verläßt und sich dann das nächste Mal anmeldet stellt sich der Zähler auf Null, wenn ich aber angeklickt habe "Mich bei jedem Besuch automatisch anmelden", dann wird der Zähler nicht zurückgestellt.
Meine User behaupten das wäre vor dem Update anders gewesen, da hätte sich der Zähler auch zurückgestellt.
Ich kann mich leider nicht mehr erinnern wie es war, deshalb frage ich hier nach.

Kann es sein das meine User Recht haben? Und wenn ja, was muss ich ändern?

LG eumelchen

Re: Anzeige wieviel neue Beiträge

Verfasst: 05.08.2011 12:39
von eumelchen
Hallole, hat keiner eine Idee?

Den Code für die Änderung hatte ich damals hier gefunden: viewtopic.php?f=87&t=201962

Ich hatte jetzt mal die alte (3.0.8 ) und neue(3.0.9) Datei index_body.html verglichen, die sind identisch!

Kann es sein das eine Änderung in einer anderen Datei den derzeitigen Fehler verursacht hat?

LG eumelchen

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 16:33
von eumelchen
Hallo zusammen.

Weiß wirklich niemand wo das Problem liegen könnte oder welche Datei dafür zuständig sein könnte?

LG eumelchen

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 16:39
von Charlie_M
Kontrolliere mal ob die entsprechenden Änderungen noch vorhanden sind.

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 16:55
von eumelchen
Hallole,

ja, die Änderungen sind alle noch da. Die Anzeige funktioniert ja auch, die Anzeige wird bloß nicht auf null gestellt wenn man das Forum verläßt (ohne abmelden) und später wieder ins Forum kommt. Das hat vor dem Update funktioniert.
Vorher war es so das die Anzeige jedesmal wieder bei 0 angefangen hat. Ist ja auch logisch bei dem Text "Seit Deinem letzten Besuch..........".

LG eumelchen

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 17:55
von Charlie_M
Ich habs mal ausprobiert (PHPBB 3.0.9) und kann den Fehler nicht nachvollziehen.

Der wesentliche Teil ist der hier:

Code: Alles auswählen

$sql = 'SELECT COUNT(post_id) as count
    FROM ' . POSTS_TABLE . ' 
      WHERE post_time > ' . $user->data['user_lastvisit'] . '
    AND poster_id != ' . $user->data['user_id'];

$result = $db->sql_query($sql);
$post_count = $db->sql_fetchfield('count', false, $result);
$db->sql_freeresult($result);
Hier wird der Zeitstempel des letzten Besuchs ($user->data['user_lastvisit']) mit dem Zeitstempel (post_time) der Beiträge verglichen.
Ist der Zeitstempel des Beitrags größer (somit SPÄTER) wird der Counter (count) um 1 erhöht. Gibt es kein Ergebnis bleibt der Counter auf 0 stehen (Standard-PHP-Funktion, Counter fängt IMMER mit 0 an).

Maßgebend ist also die Zeitangabe:

Code: Alles auswählen

Dein letzter Besuch: So 7. Aug 2011, 10:19
Kannst du das auch so bestätigen was die User sagen?

PS:
hast du nach dem Update den Cache mal geleert?

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 19:01
von eumelchen
Hallo,

ich versuche das Problem noch einmal genau zu beschreiben:

Das Snippet (oder heißt es der oder die Snippet?) funktioniert einwandfrei!

Wenn ich das Forum verlasse und mich auslogge und später wieder ins Forum gehe und mich anmelde dann zeigt mir die Anzeige genau wieviel neue Beiträge seit meinem letzten Besuch gepostet wurde!

Wenn ich nur das Forum verlasse ohne mich auszuloggen und ich gehe dann irgendwann mal wieder ins Forum (die meisten User und auch ich haben "Mich bei jedem Besuch automatisch anmelden" angeklickt), dann wurde der Zähler beim Rausgehen nicht auf 0 gestellt sondern es wird immer weitergezählt. Bei manchen Usern steht da jetzt schon mehrere hundert Beiträge.

Diese Erscheinung ist bei allen Usern die sich automatisch einloggen lassen.

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 19:15
von Charlie_M
Dachte ich mir...mir ist leider auch nicht klar nach welcher Zeit "der letzte Besuch" war.

Ich könnte mir vorstellen daß es mit der Sitzungslänge zusammenhängt: sobald man innerhalb der gültigen Sitzungslänge on geht wird der Zeitpunkt nicht aktualisiert, sondern erst nach Ablauf.

Welche Zeit hast du da eingestellt? Standard ist 3600 Sekunden = 1 Stunde.

Evtl. hilft hier ein der PHPBB-Schlaumies weiter, sorry :oops:

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 19:21
von eumelchen
Ja, ich habe den Standard eingestellt.

Es funktioniert ja auch nicht wenn ich abends rausgehe und mich am nächsten Tag wieder anmelde, es wird immer weiter gezählt.

Re: Anzeige wieviel neue Beiträge

Verfasst: 07.08.2011 19:32
von Charlie_M
Ich nehme an auch die Anzeige:
"Dein lezter Besuch: xxx" wird nicht aktualisiert? Davon hängt das Ganze ab...

Da bin ich leider überfragt wie das System das festlegt oder festgelegt wird.

Viel. kann einer der PHPBB-Schlaumies hier weiterhelfen, mom. hab ich keine Idee :oops:

EDIT:
Ich weiß ja nicht inwieweit deine Modifkationen in welche Dateien vorhanden sind, wenn meine Theorie mit:
"dein letzter Besuch: xxx" stimmt und ebenfalls nicht aktualisiert wird könnte es eigentlich nur an der session.php liegen.

Also erstmal Backup! der Datei machen und die Original-Version hochladen, evtl. auch gleich die originale function.php verwenden.