Avatar billede bigtrouble Nybegynder
20. januar 2003 - 15:55 Der er 8 kommentarer og
1 løsning

tæller script

Jeg skal bruge et script der kan registrere trafik på min side.
Jeg har brug for at se følgende:
IP, url brugeren kom fra og tidspunkt.

100 points for et brugbart script.
Avatar billede donwang Nybegynder
20. januar 2003 - 16:09 #1
Avatar billede bigtrouble Nybegynder
20. januar 2003 - 16:14 #2
Zipstat er ikke særlig anvendelig, så det bliver ikke aktuelt.
Avatar billede beorndesign Nybegynder
20. januar 2003 - 16:19 #3
Her er et script, som via et link 'link.asp?id=1' kører scriptet og registrere ip, dato, url og referer i en database. Filen ved 'include file' skal blot indeholde din connection string - 'MM_db_STRING = din connection string'.
Håber det kan bruges :)

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/db.asp" -->

<%
Dim MyConn1__MMColParam
    MyConn1__MMColParam = "0"
    If (Request.QueryString("id") <> "") Then
      MyConn1__MMColParam = Request.QueryString("id")
    End If

    Dim MyConn1

    Set MyConn1 = Server.CreateObject("ADODB.Recordset")
    MyConn1.ActiveConnection = MM_db_STRING
    MyConn1.Source = "SELECT id, link FROM portal_links WHERE id = " + Replace(MyConn1__MMColParam, "'", "''") + ""
    MyConn1.CursorType = 0
    MyConn1.CursorLocation = 2
    MyConn1.LockType = 1
    MyConn1.Open()
   
    Dim MyConn2, DN, DateNow
    DN = DateAdd("N", -15, Now)
    DateNow = DatePart("YYYY", DN) & "/" & DatePart("M", DN) & "/" & DatePart("D", DN) & " " & DatePart("H", DN) & ":" & DatePart("N", DN) & ":" & DatePart("S", DN)
   
    Set MyConn2 = Server.CreateObject("ADODB.Recordset")
    MyConn2.ActiveConnection = MM_db_STRING
    MyConn2.Source = "SELECT * FROM portal_statistik WHERE link_id = '" & MyConn1("id") & "' AND ip = '" & Request.ServerVariables("REMOTE_ADDR") & "' AND time > '#" & DateNow & "#'"
    MyConn2.CursorType = 0
    MyConn2.CursorLocation = 2
    MyConn2.LockType = 1
    MyConn2.Open()

function record()
    Dim ip, browser, link_id, Query
    ip = Request.ServerVariables("REMOTE_ADDR")
    browser = Request.ServerVariables("HTTP_USER_AGENT")
    referer = Request.ServerVariables("HTTP_REFERER")
    link_id = MyConn1("id")
   
    Query = "insert into portal_statistik (ip, browser, link_id) values ('" & ip & "', '" & browser & "', '" & link_id & "', '" & referer & "')"

    Set newConn = Server.CreateObject("ADODB.Command")
    newConn.ActiveConnection = MM_db_STRING
    newConn.CommandText = Query
    newConn.Execute
    newConn.ActiveConnection.Close       
end function

If ((MyConn2.EOF = True) AND (MyConn2.BOF = True)) Then
    record()
end if

Link = MyConn1("link")

MyConn1.Close()
Set MyConn1 = Nothing

MyConn2.Close()
Set MyConn2 = Nothing

Response.Redirect Link
Avatar billede beorndesign Nybegynder
20. januar 2003 - 16:22 #4
Jeg glemte lige at tilføje, at den ikke registrerer noget, hvis brugeren klikker på det samme link inden for 15 minutter...
Avatar billede medions Nybegynder
20. januar 2003 - 17:06 #5
<%

   
    ' skal tomme referrers også gemmes i logfil ?
    logTomme = true

    ' find logfilens navn ud fra dags dato
    'filename = right("0" & year(now), 2) & right("0" & month(now), 2) & right("0" & day(now), 2) & ".log"
   
    'En samlet logfil istedet for en pr dag
    filename = "tracker.log"
       
    ' opret system objektet til filhåndtering
    Set fs = CreateObject("Scripting.FileSystemObject")

    ' opret en reference til vores logfil - enten eksisterende ellers oprettes en ny
    Set a = fs.OpenTextFile(server.mappath(filename), 8, True, False)

    ' hvis der er nogen referrer, så gemmes denne
    if request.servervariables("HTTP_REFERER") <> "" then
        a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " & request.servervariables("HTTP_USER_AGENT"))
    else
        if logTomme then
            a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " & request.servervariables("HTTP_USER_AGENT"))
        end if
    end if

    a.close

%>

her vil den oprette en fil på serveren, hvor den vil logge alle de iper der har besøgt din side..!

//>Rune
Avatar billede bigtrouble Nybegynder
21. januar 2003 - 07:09 #6
Rune,
Jeg kan kun skrive til mit DB dir, hvordan definerer jeg hvor den skal skrive ?
Avatar billede medions Nybegynder
21. januar 2003 - 07:43 #7
Det gør du her:

    ' opret en reference til vores logfil - enten eksisterende ellers oprettes en ny
    Set a = fs.OpenTextFile("/sti/sti2/" & server.mappath(filename), 8, True, False)

//>Rune
Avatar billede bigtrouble Nybegynder
23. januar 2003 - 07:30 #8
medions, tak for dit svar, det virker point til dig
Avatar billede medions Nybegynder
23. januar 2003 - 13:06 #9
Anytime...
Thx 4 Poinz

//>Rune
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
Kurser inden for grundlæggende programmering

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