[PHP] Forum: neue/alte Posts

Loopo

Admiral
Registriert
Juli 2002
Beiträge
7.617
ich programmiere seit geraumer Zeit an einem Forum, nun möchte ich anzeigen lassen (bei aktiviertem Cookie), welche Threads neue Posts enthalten und welche nicht (so wie auch hier im Forum). Ich habe zwar schon eine Methode (muss erst testen wie sie funktioniert), aber diese hat doch einige Lücken. Also wie kann ich die Aufgabe lösen? Wie funktioniert das in anderen (oder diesem) Foren !?
 
Zuletzt bearbeitet:
ich glaube das funktioniert so, dass wenn ein User sich einloggt, sein Einloggdatum gespeichert wird. Nun wird die Zeit der Posts geprüft, sind diese neuer als das letzte Einloggdatum, so werden sie neu markiert, sind sie älter, so werden sie älter markiert. So glaub ich das mal ;)
 
ja mit Zeit hab ich es auch schon, aber so simpel ist es mit der Zeit nun auch nicht, da man mehrere Faktoren berücksichtigen muss ...
 
so ich denke es sollte so jetzt mal funktionieren, die Funktionsweise:

Variablen gespeichert in Cookie sind 2 permanente (A und B) und eine temporäre (C , löscht sich beim Beenden des Browsers)

ob es sich um neue oder alte Posts handelt, wird mit A festgestellt. Ist der Post um A + 30 Minuten älter, dann gilt er als alt

zu Beginn (also nur einmal) wird die aktuelle Zeit im C gespeichert und der letzte B mit der zeit verglichen. Ist er älter als 30 Minuten wird A auf den Wert von B gesetzt.

B speichert nun laufend die Zeit

ist B um 30 Minuten älter als C (der User also schon 30 Minuten im Forum tätig), wird A auf die aktuelle Zeit minus 30 Minuten gesetzt und C wird mit der aktuellen Zeit neu initialisiert
 
Original erstellt von Antiprofi
na dann erzähl mal...

if(timestamp last posting/thread<timestamp last visit) {
return true;
else {
return false;
}

ja aber du bist vom letzten Posting ausgegangen. Nicht jeder User schreibt bei jeder Forum Session ... außerdem hast du noch nicht berücksichtigt, dass nach dem ersten Posting bereits alle Threads als alt gekennzeichnet sind. Also sollte man zumindest 30 Minuten Pause dazurechnen.
 
Zurück
Oben