Avatar billede aleq Juniormester
29. februar 2004 - 07:50 Der er 1 kommentar og
1 løsning

lave en tæller der kun kan ses af mig

jeg er kunde hos surftown.dk (de bruger ASP og MYSQL databaser (underlig blanding)) og er ret glad for det, men det eneste jeg godt kunne tænke mig er at finde ud af hvordan man laver en tæller der kan se hvor mange besøgende der har været på siden (det skal ikke være sådan så hvis jeg opdaterer siden, på min egen computer, at det så gældes som et besøg, men den skal helst kunne huske det via ip-adresser eller mac adresser)

kan det lade sig gøre at lave en tæller der er usynlig for brugerne? hvis nej, hvordan kan man så lave en lille tæller på siden (i ASP) der gør det muligt at se "hits" og "visitors", der viser hvor mange kliks der har været (hits), og hvor mange forskellige ip-adresser der har været på siden (visitors).

vær venlig at paste koden her hvis det kan lade sig gøre...

hvordan kan jeg
Avatar billede steinmann Nybegynder
05. marts 2004 - 17:04 #1
OK, here we go...

Det her har jeg haft liggende længe og ja, det kan du jo ligeså godt bruge... du bruger mySQL og det er jo fint nok, mit er til MS ACCESS men da det kun er din "Connection" der skal laves om så burde der ikke være nogle problemer.

Scriptet består af to filer. Den første er default.asp og indeholder kun scriptet for at opsamle data - koden er kommenteret, så der burde ikke være det vilde der.

filen default.asp:
----------------------------------------------------------------------------
<%
Response.Expires = 0

'Database forbindelse.
'Jeg har her brug access, men der er ingen hindring for,
'at en MySQL database ikke skulle virke.
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=I:\Webs\Techs\Simple\counter2\db\mydb.mdb"

'Hent den "fremmedes" ip
rem_ip = Request.ServerVariables("REMOTE_ADDR")

'Den ip som ikke skal tælles op i databasen
noCount_ip = "127.0.0.1"


'Her kontrollerer vi så, om rem_ip er den som ikke skal tælles med
if not rem_ip = noCount_ip then

    'Check om Sessionvariablen "nyBruger" er tom
    if IsEmpty(Session("nyBruger")) then
   
        'Hvis den er tom, så giv den en værdi og opret SQL-sætning
        'bemærk, at intUnik = 1 fordi det er en unik bruger
        Session("nyBruger") = 1
       
        SQL = "INSERT INTO stats (strIP, intUnik) VALUES ('" & rem_ip & "', 1)"
   
    else
   
        'Hvis den ikke er tom, så skal den ikke angives en værdi
        'bemærk, at intUnik = 0 fordi det er en bruger der har været her før
        SQL = "INSERT INTO stats (strIP, intUnik) VALUES ('" & rem_ip & "', 0)"
   
    end if
   
    'Der skal under alle omstændigheder indsættes data i databasen,
    'og dette gør vi her
    conn.Execute(SQL)
end if 'IP Check
%>

----------------------------------------------------------------------------

Den anden fil er status.asp og indeholder kode til at vise meget simpel statistik over de indsamlede data. faktisk viser den kun antal unikke brugere, antal brugere i alt og så regner den gennemsnittet ud af sidevisninger pr. brugere

filen status.asp
----------------------------------------------------------------------------
<%
Response.Expires = 0

'Database forbindelse.
'Jeg har her brug access, men der er ingen hindring for,
'at en MySQL database ikke skulle virke.
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=I:\Webs\Techs\Simple\counter2\db\mydb.mdb"

'Hent diverse ting ud fra databasen
'Først hentes antallet af unikke sidevisninger, intUnik = 1
SQL = "SELECT COUNT(id) as [antal] FROM stats WHERE intUnik = 1"
set oRs = conn.Execute(SQL)

'Variablen intUnik angiver antallet af
'unikke brugere
intUnik = oRs("antal")


'Så skal det samlede antal sidevisninger hentes
SQL = "SELECT COUNT(id) as [total] FROM stats"
set oRs = conn.Execute(SQL)

'Variablen intTotal indeholder totale sidevisninger
intTotal = oRs("total")

'Her udskrives lidt statistik omkring de brugere der har
'brugt sitet, bl.a. sidevisninger pr. bruger
Response.Write("Unikke: " & intUnik)
Response.Write("<br>")
Response.Write("Totale: " & intTotal)
Response.Write("<br>")
Response.Write("Gennemsnitlige sidevisninger pr. bruger: " & Round(intTotal / intUnik, 2))

%>
----------------------------------------------------------------------------

Håber du kan bruge det til noget :)

Casper
Avatar billede aleq Juniormester
10. marts 2004 - 17:42 #2
mange tak for din kode - jeg er ved at få den til at virke, men jeg er ikke den store ekspert i oprettelse af databaser osv... når læser det her, så må du meget gerne skære det mere ud i pap :P
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester