19. juni 2003 - 14:03Der er
3 kommentarer og 1 løsning
Counter der tæller forkert
Jeg har en counter der tæller forkert.. Hver gang at man lukket vinduet og går ind på siden igen tæller den som en ekstra besøgende.. Tænkte på om man ikke kunne undgå det med en cookie istedet for en session start ??
Global.asa: <SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER> Sub Application_OnStart End Sub Sub Application_OnEnd End Sub
SQL = "SELECT * FROM TOTAL" Set rs = MyConn.execute(SQL) Application("Total") = rs("Total") rs.close Set rs = Nothing SQL = "UPDATE Total SET Total = " & (Application("Total")+1) MyConn.execute(SQL)
SQL = "SELECT * from DateHits WHERE Dato = Date()" ' Rettet Set rs = MyConn.execute(SQL) if NOT rs.EOF OR NOT rs.BOF then Application("Hits") = rs("Hits") else Application("Hits") = 0 SQL = "INSERT INTO DateHits (Dato,Hits) VALUES (Date(), 0)" MyConn.execute(SQL) end if rs.close Set rs = Nothing
SQL = "UPDATE DateHits SET Hits = Hits+1 WHERE Dato = Date()" MyConn.execute(SQL) Dim overmaaned overmaaned = DateAdd("d", -32, date()) SQL = "DELETE FROM DateHits Where Dato < DateAdd('d',-32,Date())" MyConn.execute(SQL) MyConn.Close Set MyConn = Nothing Application.Unlock End Sub Sub Session_OnEnd End Sub </SCRIPT>
default.asp: <br> <font color="#000000">Antal Besøgt: </font> <% DBPath = "DBQ=" & server.mappath("hits.mdb") DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath set MyConn = server.createobject("ADODB.connection") MyConn.Open DBPath Dim total,dag,dagt,dags,dage SQL = "Select * from Total" SQL1 = "Select Hits from DateHits where Dato = Date()" SQL2 = "Select sum(Hits) as summen from DateHits where Dato > DateAdd('d',-2,Date())" SQL7 = "Select sum(Hits) as summen from DateHits where Dato > DateAdd('d',-8,Date())" SQL31 = "Select sum(Hits) as summen from DateHits where Dato > DateAdd('d',-32,Date())" Set rs = MyConn.execute(SQL) if NOT rs.EOF OR NOT rs.BOF then total = rs("Total") else total = 0 end if rs.close set rs = Nothing Set rs = MyConn.execute(SQL1) if NOT rs.EOF OR NOT rs.BOF then dag = rs("Hits") else dag = 0 end if rs.close set rs = Nothing Set rs = MyConn.execute(SQL2) if NOT rs.EOF OR NOT rs.BOF then dagt = rs("summen") else dagt = 0 end if rs.close set rs = Nothing Set rs = MyConn.execute(SQL7) if NOT rs.EOF OR NOT rs.BOF then dags = rs("summen") else dags = 0 end if rs.close set rs = Nothing Set rs = MyConn.execute(SQL31) if NOT rs.EOF OR NOT rs.BOF then dage = rs("summen") else dage = 0 end if 'rs.close 'set rs = Nothing 'MyConn.Close 'Set MyConn = Nothing %> </font><font color="#0066CC" size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font color="#0066CC" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= total %><br> <font color="#000000">Besøg idag:</font> <%= dag %>
SQL = "SELECT * FROM DATEHITS Where IP = '"& Request.ServerVariables("REMOTE_ADDR")&"' and Dato = Date()" Set rs = MyConn.execute(SQL)
'Application("Total") = rs("Total") SQL1 = "SELECT * FROM Total" Set rs1 = MyConn.execute(SQL1) Application("Total") = rs1("Total")
if rs.eof then SQL = "UPDATE Total SET Total = " & (Application("Total")+1) rs.close Set rs = Nothing MyConn.execute(SQL) end if
SQL = "SELECT * from DateHits WHERE Dato = Date() and IP = '"& Request.ServerVariables("REMOTE_ADDR")&"'" ' Rettet Set rs = MyConn.execute(SQL) if NOT rs.EOF OR NOT rs.BOF then 'Application("Hits") = rs("Hits") else Application("Hits") = 0 SQL = "INSERT INTO DateHits (Dato,IP) VALUES (Date(),'"& Request.ServerVariables("REMOTE_ADDR") &"')" MyConn.execute(SQL) end if rs.close Set rs = Nothing
SQL = "SELECT * from DateHits WHERE Dato = Date() and IP = '"& Request.ServerVariables("REMOTE_ADDR")&"'" ' Rettet Set rs = MyConn.execute(SQL)
if rs.eof then SQL = "UPDATE DateHits SET Hits = Hits+1 WHERE Dato = Date()" end if rs.close Set rs = Nothing
MyConn.execute(SQL) Dim overmaaned overmaaned = DateAdd("d", -32, date()) SQL = "DELETE FROM DateHits Where Dato < DateAdd('d',-2,Date())" MyConn.execute(SQL) MyConn.Close Set MyConn = Nothing %> <font color="#0066CC" size="1" face="Verdana, Arial, Helvetica, sans-serif"><font color="#000000">Antal Besøgt: </font> <% DBPath = "DBQ=" & server.mappath("hits.mdb") DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath set MyConn = server.createobject("ADODB.connection") MyConn.Open DBPath Dim total,dag,dagt,dags,dage SQL = "Select * from Total" SQL1 = "Select * from DateHits where Dato = Date()"
Set rs = Server.CreateObject("ADODB.RecordSet") SQL2 = "SELECT Count(*) AS dag FROM Datehits WHERE Dato = Date()" rs.Open SQL2, myConn, 1, 3
Set rs2 = Server.CreateObject("ADODB.RecordSet") SQL3 = "SELECT Count(*) AS total FROM Total" rs2.Open SQL3, myConn, 1, 3 %> </font><font color="#0066CC" size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><font color="#0066CC" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=rs2("total") %><br> <font color="#000000">Besøg idag:</font> <%=rs("dag") %></font>
Skal lige siges jeg ikke har lavet det som en Global.asa men bare som kan ligge som en alm asp fil
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.