06. april 2002 - 04:11Der er
2 kommentarer og 1 løsning
Hits/unikke hits.
Hej e........
jeg har dette script: ' Her opdateres hits når brugeren bliver sendt til et link Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb") If Request.QueryString("id") <> "" Then Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM links WHERE (ID = " & Request.QueryString("id") & ")" rs.Open strSQL, myConn, 1, 3 If Not (rs.BOF Or rs.EOF) Then rs("Hits") = rs("Hits") + 1 strURL = rs("URL") rs.Update rs.Close myConn.Close Set rs = Nothing Set myConn = Nothing Response.Clear Response.Redirect(strURL) End If End If %>
hvordan gør jeg så det kun er unikke adresser der registreres ?
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Først henter du brugerens IP Adresse: userIP = Request.SeverVariables("REMOTE_ADDR")
Du bliver nødt til at have en ekstra tabel i din database, der holder styr på hvilke ip adresse der har været inde på hvert link. Denne Tabel - tblLinkReference - skal have 2 fields; "LinkID" og "userIP"
If Request.QueryString("id") <> "" Then ID = Request.QueryString("id") Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT Links.ID FROM links INNER JOIN tblLinkReference ON links.ID = tblLinkReference.LinkID WHERE (links.ID = " & ID & " AND tblLinkReference.userIP = '" & userIP & "')" rs.Open strSQL, myConn, 1, 1 if rs.EOF then 'first time this user selected this ID myConn.Execute( "INSER INTO tblLinkReference (LinkID,userIP) VALUES ( " & ID & ",'" & userIP & "' )" ) end if rs.Close strSQL = "SELECT links.URL FROM links LEFT OUTER JOIN tblLinkReference ON links.ID = tblLinkReference.LinkID WHERE (links.ID = " & ID & ")" rs.open strSQL, myConn, 1, 1 if not rs.EOF then hits = rs.recordCount strUrl = rs("URL") Response.Clear Response.Redirect(strURL) else response.write( "Invalid link ID" ) end if rs.close myConn.Close Set rs = Nothing Set myConn = Nothing End If
Unikke hits er repræsenteret ved antallet af joinede rækker i tblLinkReference. Altså du behøver ikke feltet "hits" i "links" tabellen. Du kan do øge performance lidt ved at beholde "hits" feltet og holde det opdateret ved at lægge een til hver gang du tilføjer en række i tblLinkReference.
Jeg har ikke testet ovenstående, så der kan være fejl. Men idéen skulle være god nok.
Synes godt om
Slettet bruger
07. april 2002 - 17:12#2
det virker nu ikke helt, hver gang jeg vælger at klikke på et link, får jeg beskeden at siden ikke eksisterer ? er det noget du kan rette ?
Synes godt om
Slettet bruger
11. april 2002 - 09:52#3
hvis du ikke kan/vil hjælpe mere lukker je nu.
mvh. questis.dk
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.