[PHP] Berichten sinds laatste bezoek

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Hey,

Op m'n website heb ik een inlogsysteem door middel van sessions.
Nu wil ik de ingelogde gebruiker laten zien of er nieuwe berichten zijn na zijn laatste bezoek aan de website.

Nu dacht ik dat het kan door middel van het opslaan van de unixtijd van de berichten en die te vergelijken met de ingelogde unixtijd van de gebruiker, maar wanneer hij / zij inlogd dan verandert ie gelijk de unixtijd van de ingelogde gebruiker.

Weet iemand hoe ik dit kan maken?

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Cookie bij elke hit opslaan met de huidige tijd, en bij de volgende view kijken wat er in de tijdsspanne tussen de huidige tijd en de tijd in het cookie aan berichten geplaatst is en die markeren?

Sole survivor of the Chicxulub asteroid impact.


Acties:
  • 0 Henk 'm!

Verwijderd

Gewoon in een sessie of cookie een date zetten met zijn laatste bezoek en dat vergelijken met entries in de database or wherever je je data vandaan haalt en dan gegevens die groter zijn dan x geef je kleurtje blauw en de andere geef je kleurtje zwart bijvoorbeeld.

Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Maar ik wil eigenlijk de berichten laten zien die tussen de laatste keer van inloggen (dus niet bij elke hit) en de huidige inlogsessie zijn geplaatst.

Maar het probleem nu is, dat wanneer de gebruiker inlogd de tijd van laatste bezoek wordt overgeschreven door de huidige tijd.

Ik heb dus nu dat ie bij elke begin van een sessie de tijd in unix eenheid opslaat en die wordt vergeleken met de tijden van de berichten. Maar wanneer je nu inlogd dan wordt die tijd al weer overschreven door de huidige tijd waardoor er nooit berichten getoond worden.

[ Voor 62% gewijzigd door radem205 op 22-11-2006 15:34 ]


Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Eerst de oude tijd uitlezen en opslaan in een variabele voordat je de nieuwe tijd wegschrijft :?

Sole survivor of the Chicxulub asteroid impact.


Acties:
  • 0 Henk 'm!

Verwijderd

dan zet je toch eerst een tweede cookie met een levensduur van een sessie... backup_last_visit ofzo... die gebruik je dan gedurende het bezoek... bij de volgende zet je eerst weer de oude in de back-up en update je hem met de nieuwe tijd ;)

edit: damn net te laat ingekopt |:(

[ Voor 7% gewijzigd door Verwijderd op 22-11-2006 15:35 ]


Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
AtleX schreef op woensdag 22 november 2006 @ 15:34:
Eerst de oude tijd uitlezen en opslaan in een variabele voordat je de nieuwe tijd wegschrijft :?
dat is natuurlijk een goede mogelijkheid ja, dank je wel.
Ik denk dat ik dan de tijd van laatste bezoek opsla in een andere kolom en de nieuwe opsla en zo door..

Acties:
  • 0 Henk 'm!

  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 16-09 12:26

R4NCOR

eigenlijk gewoon Niels

Bij het inloggen zet je de tijd van zijn laatste login in een sessie "vorige_login" ofzo. Deze kun je dan gebruiken voor het vergelijken met de bericht-tijdstippen. :) Het maakt dan ook niet uit of de tijd in de database oid veranderd wordt, omdat je hem in je session hebt staan nu.

Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
helemaal geweldig jongens, dank je wel. Vaak is het zo simpel, maar je moet er wel opkomen. Dank je wel.

Acties:
  • 0 Henk 'm!

Verwijderd

@Radem, zou het zowiezo niet opslaan in Database, beetje zonde, pak gewoon een cookie variabele... en schrijf die bij login gewoon weg in een sessie zoals R4NCOR zei.

Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Verwijderd schreef op woensdag 22 november 2006 @ 15:42:
@Radem, zou het zowiezo niet opslaan in Database, beetje zonde, pak gewoon een cookie variabele... en schrijf die bij login gewoon weg in een sessie zoals R4NCOR zei.
Maar is het gebruikelijk om bij elke hit de unixtijd te veranderen of gewoon eenmalig bij inloggen de unixtijd aanpassen?

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Dat is maar net wat je zelf wil opslaan.

Ik sla zelf per sessie de tijd en locatie van de laatste hit op, zodat je bij de stats van die user de datum en tijd van echt de laatste pagina die 'ie opvroeg kunt bekijken, of zodat je bijvoorbeeld zo'n pagina kunt maken: http://forum.fok.nl/user/online

[ Voor 15% gewijzigd door CodeCaster op 22-11-2006 16:04 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
CodeCaster schreef op woensdag 22 november 2006 @ 16:02:
Dat is maar net wat je zelf wil opslaan.

Ik sla zelf per sessie de tijd en locatie van de laatste hit op, zodat je bij de stats van die user de datum en tijd van echt de laatste pagina die 'ie opvroeg kunt bekijken, of zodat je bijvoorbeeld zo'n pagina kunt maken: http://forum.fok.nl/user/online
Kan je per pagina steeds bijvoorbeeld de $_SESSION['locatie'] wijzigen zonder een nieuwe sessie aan te hoeven maken dan?

Acties:
  • 0 Henk 'm!

Verwijderd

Indien je het soort lijsten wil maken als CodeCaster als voorbeeld toont, zul je echter wel alles in een database moeten opslaan, je hoeft dan ook geen cookies te gebruiken en kan je gewoon in de database opzoeken wat de laatste actie was van een gebruiker, en dit dus zien als de laatste actieve online-moment van deze gebruiker!

Acties:
  • 0 Henk 'm!

  • EnsconcE
  • Registratie: Oktober 2001
  • Laatst online: 19-06 00:07
Verwijderd schreef op woensdag 22 november 2006 @ 15:42:
@Radem, zou het zowiezo niet opslaan in Database, beetje zonde, pak gewoon een cookie variabele... en schrijf die bij login gewoon weg in een sessie zoals R4NCOR zei.
Waarom zou je dat neit doen? Je moet de dbase toch aanspreken wanneer iemand inlogt en 1 veld erbij is geen heavy load. Daarbij is het zo dat men cookies uit kan hebben staan, of dat men alleen de sessie toestaat. Het gebruik van de dbase lijkt mij juist een prima oplossing en simpel ook.

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Plus het voordeel wat de database heeft, is dat het portable is. Ik zie op tweakers.net bijvoorbeeld thuis ook nog altijd een keer al het nieuws rood dat ik op het werk allang gelezen had. Met een database heb je dat niet.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

Verwijderd

Ja is eigenlijk wel waar... ik redeneer vanuit mn eigen situatie waarbij een cookie voorziet in het inloggen op de site zonder database query, in dat geval kan je de laatste bezoektijd net zo makkelijk in een cookie opslaan.

Indien je iets van een who's online dingetje wil maken zal je alsnog een database moeten gebruiken!
Pagina: 1