cookies "last visited" werkt niet

Pagina: 1
Acties:

  • DNA_Saint
  • Registratie: Maart 2004
  • Nu online

DNA_Saint

Go Go Gadget Ondertitel!

Topicstarter
Op mijn pagina wordt een cookie aangemaakt met de last visited date.
Maar wanneer iemand refreshed of op een "lees meer..." knop klikt, dan ververst de cookie zich.
En heeft dus de "last visited date" dus totaal geen zin gehad, want de cookie slaat dan gewoon weer de tijd op wanneer het ververst of geklikt is.

Nu heb ik ergens gelezen dat je de setCookie na het lezen van de cookie moet doen. Maar wanneer ik dit doe krijg ik de "Headers already sent" error.

wie weet hoe ik dit kan oplossen?

Alles is in een index.php
PHP:
1
2
3
4
<?php
$inTwoMonths = 60 * 60 * 24 * 60 + time(); 
setcookie(lastVisit, date("d-m-Y H:i"), $inTwoMonths); 
?>

wordt de cookie aangemaakt. Dit is dan ook op de eerste regel van de pagina.

Nu wordt dit midden in de pagina aangemaakt:
PHP:
1
2
3
4
5
6
7
8
9
if(isset($_COOKIE['lastVisit']))
{
$last = $_COOKIE['lastVisit'];
echo "Laatste bezoek: <font color=#C40807>" .$last. "</font>";
}
else
{
echo "Welkom op de site!";
}

Huub Huub Barbatruc!


  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

lastVisit alleen opnieuw instellen als time() - lastVisit > sessie_expire_tijd. Maar als je net zoiets als op een forum wilt doen ("deze dingen zijn nieuw sinds je vorige bezoek") moet je nog een extra tijd opslaan (de sluittijd van de vorige sessie, dit is dan eigenlijk je lastVisit)

[ Voor 57% gewijzigd door .oisyn op 20-03-2007 19:00 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
^Dat, plus dat je gewoon wél al output hebt gedaan voor de regel waar je de 'Headers already sent' error voor je kiezen krijgt. Whitespace buiten PHP mode is ook al output.

{signature}


  • DNA_Saint
  • Registratie: Maart 2004
  • Nu online

DNA_Saint

Go Go Gadget Ondertitel!

Topicstarter
.oisyn schreef op dinsdag 20 maart 2007 @ 18:55:
lastVisit alleen opnieuw instellen als time() - lastVisit > sessie_expire_tijd
snap niet echt wat je bedoeld 8)7

[ Voor 73% gewijzigd door DNA_Saint op 20-03-2007 18:59 ]

Huub Huub Barbatruc!


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
'huidige tijd' min 'tijd welke client meegeeft' groter dan 'arbitraire waarde'.
Wat valt daar niet aan te snappen? ;)

{signature}


  • Cartman!
  • Registratie: April 2000
  • Niet online
PHP:
1
setcookie('lastVisit', date("d-m-Y H:i"), $inTwoMonths);


de manual geeft prima aan dat de naam van je cookie een string moet zijn...? Misschien dat t er iets mee te maken heeft.
Pagina: 1