Cookies und Co...

wiedsche

Mitglied
Hallo,
Ich habe ein Forum in PHP und einer MySQL-Datenbank programmiert. Nun würde ich gerne eine Funktion einbauen, dass man sieht was seit dem letzten Login neu gepostet wurde und was noch nicht gelesen ist.
Irgendwie muss das ja möglich sein. Ich denke mit Cookies...
Aber wie baue ich da eine Struktur auf? Welche Daten sollen im Cookie gespeichert werden?

Kann mir jemand helfen?
 
wie wärs wenn du die serverzeit im cookie speicherst?
geht natürlich nur wenn in der datenbank neben den beiträgen auch datum und urzeit gesichert werden
 
cookies

Ja.. so hab ich es auch gemacht....oder so ähnlich
also für jeden Benutzer wird in der Datenbank die letzte Loginzeit gespeichert und natürlich für jeden Post das Eintragsdatum.
Logt sich nun ein Benutzer ein sieht er alle neuen Posts.
Logt er sich erneut ein sind aber keine mehr neu ...
Wie kann man das denn machen, dass dann noch da steht ungelesen bei den Posts?
Was soll ich da im Cookie speichern?
 
ich formulier es einfach nochmal anders:
also....
Ich weiß nicht was ich in einem Cookie abspeichern soll ...
Ich würde gerne nach einem Benutzer-Login es so haben, das der seiht welche Beiträge er gelesen hat und welche nicht... und diese Information soll im Cookie gespeichert werden.
Soll ich da die ID jedes Posts im Cookie speichern? Kann ich ein Array im Cookie speichern?
 
Keiner eine Ahnung?

Hat keiner eine Ahnung für die Lösung des Problems?
Einfach irgendwie in einem Cookie speichern (oder auch in einer Datenbank), welche Forum-Posts der Benutzer besucht hat und welche nicht...
Ich habe ja für jeden Post eine ID ... von 1 bis weit über 1000 (das sind viele Posts)...
Kann ich da einen Array anlegen und den in der Datenbank (oder im Cookie) für jeden einzelnen Benutzer speichern? Werden das nicht zu viele Daten?
 
an sich brauchst du überhaupt nich mit cookies arbeiten
mach in deiner user-password noch ne spalte rein mit "last login time"
dann frag die tabelle ab und gib im code die bedingung wenn der post nach dem letzten login geschrieben wurde dann bold else normale schrift
so ähnlich machens glaub die meisten boards

edit: willst du wirklich alle benutzer zwingen cookies anzuschalten um auf dienem board die neuen msgs sehen zu können. nimm cookies lieber nur als password reminder
 
das mit dem Datum, will ich ja gerade nicht, das hab ich ja schon so...
wenn sich jemand einlogt.. sein browser stürtzt ausversehen ab oder er logt sich wieder aus... und da ist das Problem da.
Die Zeit ist überschrieben und er weiß nicht mehr welche Posts neu waren (ausser er durchsucht alles mühevoll)...
Deshalb will ich ja das irgendwie für jeden Post speichern... nur wie?
 
stell dir vor jemand hat cookies abgeschaltet
der wird nie sehn welche posts neu sin

ich glaub das passiert öfter als deine story *g*
naja vielleicht meldet sich ja noch einer, der weiß wie man das umsetzen könnte, ohne zuviele daten im cookie zu speichern
 
das Problem mit der Login time ist allerdings, dass sie für JEDEN Thread einzeln abgespeichert werden müsste, da man ja nicht gleichzeitig alle threads liest.
Und das ist auch in etwa das Problem, das wiedsche anspricht.

Dies würde allerdings eine extrem hohe Cookie-belastung darstellen.

Alternativ (und ich glaube, so machen's viele bekannte foren) kannst du auch _nur_ für jedes Forum (so denn mehrere vorhanden sind) die last-login-time abspeichern.
Also pro Forum ein datetime-forumid-paar.

Das aber erst, wenn ein Thread aufgerufen/gelesen wird, nicht, wenn nur die Thread-Übersicht angezeigt wird.
(also ist es weniger eine last-login-time, als vielmehr eine last-read-time)

so ungefähr:

if (thread_X_im_forum_Y_geöffnet){
zeige: thread_X_im_forum_Y;
speichere im cookie: last_read[forum_Y] = jetzige_zeit()
}

ich glaube, es gibt keine zufriedenstellendere möglichkeit
 
hey... genau so eine Idee hab ich gebraucht... danke...
ich werde das einfach in kleine Einzelzeiten zerlegen wie du sagst... ich muss mir nur noch die Größe überlegen... ob pro Forum oder sogar per Thread...
Was die Cookies angeht... ich glaub ich kann auch auf die verzichten, wenn ich will.... ich kann ja alles auf dem Server speichern (Datenbank oder eine Datei)...
Jedenfalls danke für den Einfall

Wenn jemand noch etwas anderes einfällt, bitte posten :)
 

Neue Beiträge

Zurück