[PHP]Vertraging in update

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Ik heb een script dat een planning is van evenementen, waar mensen hun eigen events aan kunnen toevoegen. Nu als je inlogt dan wordt gelijk je laatste login datum+tijd als een timestamp opgeslagen en dan zie je in een andere kleur de laatst toegevoegde events. Maar nu als je refresht dan zijn gelijk alle nieuwe events weer normaal gekleurd omdat de laatste login datum weer geupdate wordt naar de huidige tijd+datum.

Nu wil ik er een uur vertraging inzetten zodat je een uur lang kan F5en voordat ze pas weer 'normaal' zijn.

Het is net zoiets als in bookmarks, die worden rood als er een nieuwe reply is en pas na een tijdje worden ze weer geel (bij mij teminste:P ).

Ik zat zelf te denken met een temp datum en dan het vergelijk tot een uur verschil is maar dat lukt me niet helemaal...

Misschien dat iemand me een beetje op weg kan helpen?

Acties:
  • 0 Henk 'm!

  • Jelmer
  • Registratie: Maart 2000
  • Nu online
code:
1
if ($stamp + 3600 =< time()) $color = RED;


Zoiets lijkt me.

Acties:
  • 0 Henk 'm!

  • DiLDoG
  • Registratie: Oktober 2002
  • Laatst online: 18-09 08:45
je zou ook cookie kunnen setten die geldig is tot dat je je browser sluit (geen duration meegeven)

http://www.php.net/setcookie

en alleen die timestamp updaten als dat cookie niet geset is ofzo

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
DiLDoG schreef op 23 juni 2004 @ 09:00:
je zou ook cookie kunnen setten die geldig is tot dat je je browser sluit (geen duration meegeven)

http://www.php.net/setcookie

en alleen die timestamp updaten als dat cookie niet geset is ofzo
Hoe kan je een cookie setten die geldig is totdat je browser sluit?

Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Megamind schreef op 23 juni 2004 @ 19:15:
[...]


Hoe kan je een cookie setten die geldig is totdat je browser sluit?
tijd op nul zetten.
PHP:
1
setcookie ("TestCookie", $value, 0);

[ Voor 12% gewijzigd door 4Real op 23-06-2004 19:19 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
4Real schreef op 23 juni 2004 @ 19:18:
[...]

tijd op nul zetten.
PHP:
1
setcookie ("TestCookie", $value, 0);
Ah ok dat werkt idd, maar ik wil liever zonder cookies werken want als iemand uitlogt en weer inlogd dan moeten eigenlijk de gegevens bewaard blijven.

Ik heb zelf wat dingen bedacht maar ik kom er nog niet uit :( Hoe doen ze het eigenlijk met de bookmarks hier?

Acties:
  • 0 Henk 'm!

  • DiLDoG
  • Registratie: Oktober 2002
  • Laatst online: 18-09 08:45
ik weet niet precies hoe GoT het doet, maar ik denk toch dat die cookies manier het beste is, als ze uitloggen is het hun eigen schuld

Acties:
  • 0 Henk 'm!

  • Jelmer
  • Registratie: Maart 2000
  • Nu online
Je houd van de gebruiker in de database zijn lastVisit stamp bij en gebruikt die voor de vergelijking die ik je eerder gaf. Waar de gebruiker dan ook ter wereld inlogt, overal zullen op hetzelfde moment dezelfde events gemarkeerd worden.

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Jelmer schreef op 23 juni 2004 @ 19:58:
Je houd van de gebruiker in de database zijn lastVisit stamp bij en gebruikt die voor de vergelijking die ik je eerder gaf. Waar de gebruiker dan ook ter wereld inlogt, overal zullen op hetzelfde moment dezelfde events gemarkeerd worden.
Dat gebeurd idd, maar wat als je nou refresht? EEN keer moet toch die lastlogin datum gewijzigd worden... Ik bedoel als je elke keer die lastlogin datum wijzigd dan kan je er wel leuk een uur bij optellen maar het blijft hetzelfde..

[ Voor 13% gewijzigd door Megamind op 23-06-2004 20:06 ]


Acties:
  • 0 Henk 'm!

  • llevering
  • Registratie: September 2000
  • Laatst online: 19-09 08:53
Ik doe het op mijn forum zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
    $timestamp = time();
    if(isset($_COOKIE["timestamp"]))
        {
        $lastvisit = $_COOKIE["timestamp"];
        if($lastvisit+1800 <= $timestamp)
            {
            setcookie("timestamp", $timestamp, time()+3153600);
            }
        }
    else
        {
        setcookie("timestamp", $timestamp, time()+3153600);
        }

Dus ik pak de huidige tijd kijk of de laatste bezoekers timestamp, is dat al een half uur (1800 seconden) geleden was dan update ik de timestamp, met een flinke geldigheidsduur voor de cookie.

[ Voor 9% gewijzigd door llevering op 24-06-2004 00:25 ]


Acties:
  • 0 Henk 'm!

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

Als je geen gebruik van cookies wil maken doe dan sessies.
zolang er een sessie loopt laat je alle nieuwe events zien. Is er geen sessie (gebruiker heeft browser afgesloten) dan update je de gegevens met je timestamp.

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


Acties:
  • 0 Henk 'm!

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

IorGie schreef op 24 juni 2004 @ 01:14:
Als je geen gebruik van cookies wil maken doe dan sessies.
zolang er een sessie loopt laat je alle nieuwe events zien. Is er geen sessie (gebruiker heeft browser afgesloten) dan update je de gegevens met je timestamp.
Ik denk dat ie toch beter een cookie kan nemen met de logintijd. Is ie een half uur voorbij die tijd dan moet ie updaten (deze tijd moet dan wel gekoppeld worden aan de login, anders geldt ie ook voor andere gebruikers op dezelfde pc)
(of de cookie een vervaltijd van 30 minuten geven, en kijken of er nog een cookie met jouw id is, dan hoef je zelf de tijd niet in de gaten te houden)

Een sessie var is namelijk weg als je de browser af sluit, en omdat hij het hier heeft over een mechanisme van een half uur lijkt het me waarschijnlijk dat de gebruiker tussendoor de browser wel eens sluit. Ikzelf heb echt bijna zelden een website langer dan een half uur geopend tenzij ik hem gebruik in het ontwikkelprocess van een website.....

ipv cookies kan ie het ook in een Db opslaan, waar hij de gebruikergegevens opslaat. Tenslotte haalt ie die toch op, kun je net zo goed ook de de laatste tijd vergelijken met nu en dan bepalen of je moet updaten.

[ Voor 7% gewijzigd door RwD op 24-06-2004 07:15 ]


Acties:
  • 0 Henk 'm!

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

oops, ik quote-te mezelf ipv editten

[ Voor 96% gewijzigd door RwD op 24-06-2004 07:15 . Reden: oops ]

Pagina: 1