24. april 2006 - 16:11Der er
26 kommentarer og 1 løsning
Counter der tæller hver unikt besøg
Jeg skal bruge en counter skrevet i php som tæller hver unikt besøg - her mener jeg det ikke skal kunne lade sig gøre at trykke opdater i sin browser for at få den til at tælle højre op, den skal registere IP'en fra remote computeren og fx kun tælle op hvis der er gået en time siden den ip sidst var på siden..
Du skal nok komme med lidt mere info. Skal det gemmes i en fil eller database? Hvad hvis der er flere brugere fra samme ip? Skal den gemme info i en cookie? Eller hvad vil du have?
Det kan laves på mange måder, men en 100% løsning findes ikke.
Dataerne må godt gemmes i databasen (mysql) Så jeg kan trække dem ud og evt. vise dem på forsiden.
At der er flere bruger på samme IP kan jeg ikke se jeg kan gøre noget ved, nu er det også mest privat personer min side henviser sig til, og de har som oftes max 3-4 computere på en ip..
<?php include("dbconnect.php"); $ip = $_SERVER['REMOTE_ADDR']; $besoegt_idag = mysql_query("SELECT COUNT(*) AS antal FROM counter WHERE ip='$ip' AND date_add(time,interval 24 HOUR) > NOW() ORDER BY id DESC LIMIT 0,1") or die(mysql_error()); if (!mysql_result($besoegt_idag,0)) { mysql_query("INSERT INTO counter (time, ip) VALUES (NOW(),'$ip')"); } $besoeg_ialt = mysql_query("SELECT COUNT(*) AS antal FROM counter"); echo "Der har været <b>".mysql_result($besoeg_ialt,0)."</b> besøg"; ?> den der skulle kunne bruges har selv brugt den
Hvad ved jeg overhovedet? At der ikke er nogen 100% løsning, det kan jeg da forstå på tidligere indlæg, og også tænke mig til.
Jeg skal lige have prøve det script og mx-xmas postede samt det fra udvikleren, har ikke haft tid endnu - men vender tilbage med feedback når har fået det gjort.
Codebase: Nu har jeg ikke testet det script der, men har du testet det rent faktisk virker? (for i mit hoved burde det ikke virke - men mit hoved ved jo hellere ikke alt)
xmas - udfra det script du poster kan jeg se der skal oprettes en tabel kaldet counter i mysql, men hvilke felter skal den mere specefik indholde? Har du en sql fil?
Jeg har oprettet Tabellen "counter" I tabellen har jeg lavet to felter "ip" og "time" har lavet filen dbconnect.php med dette indhold: <?php mysql_connect("localhost", "user", "pass"); mysql_select("navnpådatabase"); ?>
Får dette tilbage fra browseren
Unknown column 'id' in 'order clause'
------
Kigger lige på scriptet fra udvikleren imellem tiden..
Grunden til at feltet ID med INT datatypen ikke kunne tilføjes er at den selvfølgelig skal sættets som primary key. Lad os få lukket dette spm, smid et svar hvis I vil have points.
Jeg takker for point! (ingen andre som synes de skulle have lidt point?)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.