webForumDet fria alternativet

Räkna klick (endast en gång)

PHP

2 svar · 296 visningar · startad av Freddan

Medlem sedan juli 200042 inlägg
Frågan#1

Jag laddade hem en topplista av Johan Skog, (här http://script.webforum.nu/wf/Forum4/HTML/000012.html), gillade den och har tänkt att använda den på min sida, dock endast till att räkna utgående klick. Och då skulle det vara bra om den bara räknade ett klick per person. Skulle man inte kunna kolla så att besökarens ip nummer inte redan registrerat ett klick. Fast givetvis ska man komma fram till sidan man klickar på även om man besökt den förut, men det ska inte registreras ett till klick på den sajten bara.

Här är kodsnutten som registrerar klicken:

if($sida){
$res=mysql_query("update databasnamn set klick=klick+1 where id=$sida");
$res=mysql_query("select url from databasnamn where id=$sida");
$row=mysql_fetch_array($res);
Header("Location:$row[url]");

(Sidan som har den här koden i sig heter klick.php och i databasen heter en spalt också klick där antalet klick på respektive sida sparas. Och ett exempel på en länk ser ut så här http://domänen/klick.php?sida=1)

Medlem sedan mars 20007 896 inlägg
#2

Det är inte bra att registrera IP-adresser, eftersom att dessa är dynamiska. Bättre att sätta en cookie hos användaren istället.

if($HTTP_COOKIE_VARS['minKaka'] != "besokt" && ($sida)) {
     mysql_query("UPDATE databasnamn SET klick = klick+1 WHERE id = $sida");
     setcookie("minKaka", "besokt", time()+86400);
}
$result = mysql_query("SELECT url FROM databasnamn WHERE id = $sida");
$row = mysql_fetch_array($result);
header("Location: $row[url]");

Så där borde fungera för dig :)

------------------
SPiN, bjorne.w@telia.com

-- They pretend to pay me, I pretend to work --

Medlem sedan juli 200042 inlägg
#3

Jag funderade faktiskt på vilket som var bäst av att kolla ip-adressen eller använda cookies. Cookies är ju väldigt lätta att bara delete'a. Om man listat ut vad den heter är det bara att ta bort den efter varje klick, så kan man klicka många gånger, iochförsig är det nog lite tråkigt att hålla på så, men det finns väl dom som gör det...

För att få en ny ip-adresse är man väl åtminstone tvungen att koppla ner och koppla upp? vilket är drygt och framför allt dyrt med vanligt modem. Har man bredband är man väl dessutom tvungen att starta om datorn för att få en ny ip-adress, om jag vet rätt?!

Skulle man inte kunna använda både cookies och kolla ip-adressen?

Hursomhelst, tack för koden!

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)