pageviews vastleggen in cookie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tineau

tineau

16/08/2004 16:29:00
Quote Anchor link
Hallo,

ik wil graag bijhouden hoe populair bepaalde nieuwsitems zijn. Dat wil doen mbv cookies (dus niet in een sql database).

Nu heb ik de volgende code geschreven, maar die werkt dus niet. Iemand anders enig idee. Heb ik complete onzin code gemaakt? Of kan iemand er wat van maken wat werkt?

bedankt alvast.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?
if (!$_COOKIE['item_id'])
{

$item_id = $row_news_item['item_id'];
if (setcookie("item_id",$item_id,time() + 3800))
{

//insert query
}
else
{
//do nothing
}
}

else
{
//verlijk inhoud cookie met $_GET data
if(eregi("$_GET[item]",$_COOKIE['item_id']))
{

//verwijder cookie
setcookie("item_id",$item_id,time() - 3800);
//maak nieuwe cookieinhoud  
$itemnieuw = $_GET['item'].",".$_COOKIE['item_id'];
//maak nieuwe cookie
setcookie("item_id",$itemnieuw,time() + 3800);
print_r($_COOKIE);
}

else
{
echo "zit er al in";
echo $_COOKIE['item_id'];
}
}

?>
Gewijzigd op 16/08/2004 16:32:00 door Tineau
 
PHP hulp

PHP hulp

06/05/2024 15:40:06
 
Mitch X

Mitch X

16/08/2004 16:40:00
Quote Anchor link
Koekjes zijn clientside, die kun je dus niet bijelkaar optellen ...
Alleen je client zal dus weten hoevaak hij/zij ergens geweest is, maw kies beter voor MySQL, simpel en snel :D (en ja da rijmt ;))
 
Tineau

tineau

16/08/2004 17:07:00
Quote Anchor link
yep :)
maar je kunt toch een cookie serverside uitlezen, vervolgens de data veranderen en daarna weer wegschrijven met nieuwe data?
 
Mitch X

Mitch X

16/08/2004 17:10:00
Quote Anchor link
Ja dus?
Quote:
ik wil graag bijhouden hoe populair bepaalde nieuwsitems zijn. Dat wil doen mbv cookies (dus niet in een sql database).

Dat kun je niet bijhouden met cookies ...
Je kan wel het totaal in een bestandje zetten, maar dan nog blijft het omslachtig.
Quote:
maar je kunt toch een cookie serverside uitlezen, vervolgens de data veranderen en daarna weer wegschrijven met nieuwe data?

Dat kan idd ...
 
Tineau

tineau

16/08/2004 17:16:00
Quote Anchor link
sorry ik zei het verkeerd. Om te voorkomen dat dezelfde bezoeker 2x geteld wordt wil ik een cookie wegschrijven met daarin het item-id (wat dus meekomt in de URL ($_GET).

Vervolgens bij het bekijken van een ander item wil ik het cookie vergelijken met het $_GET item id en die als deze niet in het cookie zit het cookie updaten .

Maar als je naar de code kijkt snap je denk ik beter wat ik bedoel.
 
B a s
Beheerder

B a s

16/08/2004 20:02:00
Quote Anchor link
ik snap wel wat je bedoelt maar toch heeft mitch gelijk..

je hebt dan straks een cookie die de volgende inhoud heeft als hij/zij 10 items heeft bekeken:

12|35|31|13|63|23|63|246|42|32

dat zijn slechts 10 items.. wat je elke keer moet doen is de cookie exploden, via een for() loopje er door heen lopen, kijken of hij matched, matched hij niet er 1 bij schrijven.. als je 1000 personen, 500 nieuwsberichten hebben bekeken gaat je snelheid wel achteruit door al die explodes en loopjes :)

daarom kun je het beter in een database bijhouden omdat dit sneller is.. maar het kan ook met een cookie, maar dan heb je ook weer het nadeel dat cookies verwijderd kunnen worden.. en dat rukt ook weer.. :)
 
Robin

Robin

16/08/2004 20:06:00
Quote Anchor link
" maak een tut ervan zodat iemand het ook kan begrijpen als hij niet echt 123 php kent zoals mij" .
 
Tineau

tineau

16/08/2004 20:42:00
Quote Anchor link
Yep bas dat was inderdaad wat ik bedoel maar dat is dus niet echt aan te raden begrijp ik nu.

Goed dan maar weer eens verder experimenteren met een sql tabelletje :)
Gewijzigd op 16/08/2004 20:43:00 door tineau
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.