webForumDet fria alternativet

Räknare!?

ASP

1 svar · 198 visningar · startad av Steven

Medlem sedan jan. 20034 inlägg
Frågan#1

Tjena tjena!
Har komponerat ihop en räknare på våran sida. Är dock mycket osäker på att den verkligen stämmer. Räknaren ska funka på alla sidor och har därför lagt den i samma fil som databaskopplingarna och är då inkluderad på varenda sida. Jag skickar med koden så kan kanske nån hitta något fel. Räknaren ska räkna unika besökare på 24 timmar.

<%If Request.QueryString("page") <> "" Then
incPage = Mid(Request.ServerVariables("URL"),2) & "?page=" & Request.QueryString("page")
Else
incPage = Mid(Request.ServerVariables("URL"),2)
End If
statDate = left(Now(),10)
unicVisitor = False
If Request.Cookies("aojStats") <> statDate Then
unicVisitor = True
Response.Cookies("aojStats") = statDate
Response.Expires = Date() + 1

Set AOJ = Server.CreateObject("ADODB.Connection")
OpenDatabaseAOJ
SQL = "Select \* From aojstats Where statDate Like '" & statDate & "'"
Set Stat = AOJ.execute(SQL)
newDay = 0
Do Until Stat.Eof or newDay = 1
    Stat.MoveNext
    newDay = 1
Loop

If newDay = 0 Then
    AOJ.Execute("Insert Into aojstats(statDate, incPage, unicVisitors, unicVisitorsAll) Values('" & statDate & "','" & incPage & "',0,1)")
Else
    AOJ.Execute("Update aojstats Set unicVisitorsAll=unicVisitorsAll+1 Where statDate='" & statDate & "' And incPage Like '" & incPage & "'")
End If    

End If
If Request.Cookies(incPage) <> incPage Then
unicVisitor = True
Response.Cookies(incPage) = incPage
Response.Expires = Date() + 1
End If

If unicVisitor = True Then
Set AOJ = Server.CreateObject("ADODB.Connection")
OpenDatabaseAOJ
SQL = "Select * From aojstats Where statDate Like '" & statDate & "' And incPage Like '" & incPage & "'"
Set Stat = AOJ.execute(SQL)
newDay = 0
Do Until Stat.Eof or newDay = 1
Stat.MoveNext
newDay = 1
Loop

If newDay = 0 Then
    AOJ.Execute("Insert Into aojstats(statDate, incPage, unicVisitors, unicVisitorsAll) Values('" & statDate & "','" & incPage & "',1,1)")
Else
    AOJ.Execute("Update aojstats Set unicVisitors=unicVisitors+1 Where statDate='" & statDate & "' And incPage='" & incPage & "'")
End If

AOJ.Close
Set AOJ = nothing

End If%>

Jag får inte något fel, den verkar visa korrekt. Men man undrar lite när man jämför med extreme-räknaren. På extreme har jag kanske 500 besökare, men på den egna räknaren hade jag igår 1900 besökare. Men grejen är ju den att extremeräknaren ligger i en frame på sidan. Då räknas ju inte de träffar som kommer direkt på sidan. Men kan de vara så många som den missar?

/Steven

Medlem sedan jan. 20034 inlägg
#2

Ingen som vågar sig på detta?

259 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)