Avatar billede sesam Nybegynder
02. februar 2002 - 21:29 Der er 10 kommentarer og
1 løsning

Tæl antal klik

Jeg har et script her der skriver et link ud, nu vil jeg gerne havde at der bliver talt hvor mange gange der er klikket på linket. ER der en der kan fortælle mig hvordan. Antallet af hits skal gemmes i Access Databasen.

-------------KODE----------------------------

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("../../db/counter.mdb")
Conn.Open DSN
strSQL = "Select * From TblImages Order by Navn"
Set rs = Conn.Execute(strSQL)
ch="+"
tael=0
response.write "<table border=""0"" cellspacing=""0"" cellpadding=""3""><tr><td valign=""top"">"
while not rs.eof
  strNavn = rs("Navn")
  nych= Left(strNavn,1)
  if nych<>ch then
    if ch<>"+" then
      if tael=5 then
        response.write "</td></tr><tr><td valign=""top"">"
        tael=0
      else
        response.write "</td><td valign=""top"">"
      end if
    end if
    ch=nych
    tael=tael+1
end if
strLink = "<font size=1 face=Verdana, Arial, Helvetica, sans-serif color=#000000><a href='visrattan.asp?id=" & rs("Id")  & "'>" & strNavn & "</a></font>"
Response.Write "<br>" & strLink

rs.MoveNext
wend
response.write "</ul></td></tr></table>"
%>
Avatar billede goose Nybegynder
02. februar 2002 - 22:50 #1
Du opretter en kolonne i din TblImages af typen tal og kalder den hits
Så laver du en ny fil der f.eks. hedder redir.asp
I denne fil indsætter du så følgende efter din databaseconnection:

<%
SQLhit = "update TblImages set hits=hits+1 where id=" & request.querystring("id")
conn.execute(SQLhit)
set SQLhit = nothing
SQLstmt = "select strLink from TblImages where id=" & request.querystring("id")
set rs = conn.execute (SQLstmt)
linkurl = rs("strLink")
rs.close
set rs = nothing
conn.close
set conn = nothing
response.redirect "http://"&linkurl
%>

- Der hvor du nu har <a href='visrattan.asp?id=" & rs("Id")& "'>" & strNavn & "</a></font>"

skriver du istedet <a href='redir.asp?id=" & rs("Id")& "'>" & strNavn & "</a></font>"

Håber det er forklaret godt nok.

/Goose
Avatar billede goose Nybegynder
02. februar 2002 - 22:52 #2
Det var selvfølgelig et svar :o)
Avatar billede sesam Nybegynder
03. februar 2002 - 17:17 #3
Der er en fejl:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: ''
/lt-prove-filer/redir.asp, line 11

10: SQLhit = "update TblTeak set hits=hits+1 where id=" & request.querystring("id")
11: conn.execute(SQLhit)
Avatar billede goose Nybegynder
03. februar 2002 - 22:15 #4
Send mig din kode så skal jeg kigge på den, men er du sikker på du får id nummeret med over, prøv evt. at udskrive SQLhit. udskift din linie 11 med response.write SQLhit

/Goose
Avatar billede sesam Nybegynder
03. februar 2002 - 23:13 #5
Hvor meget af koden skal du bruge?
Avatar billede coltau Juniormester
03. februar 2002 - 23:58 #6
I toppen af redir.asp mangler du sikkert følgende linier:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("../../db/counter.mdb")
Conn.Open DSN

Det betyder fejlkoden i linie 11. !
Avatar billede sesam Nybegynder
04. februar 2002 - 16:27 #7
Jep det var fejlen:

Men det virker stadigvæk ikke, nu kan den ikke vise den rigtige side:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("../../db/lt.mdb")
Conn.Open DSN
SQLhit = "update TblTeak set hits=hits+1 where id=" & request.querystring("id")
conn.execute(SQLhit)
set SQLhit = nothing
SQLstmt = "select strLink from TblTeak where id=" & request.querystring("id")
set rs = conn.execute (SQLstmt)
linkurl = rs("strLink")
rs.close
set rs = nothing
conn.close
set conn = nothing
response.redirect "http://"&linkurl

%>

Jeg tror fejlen er i sqlstmt, og jeg har ingen post i min db der hedder strlink. Hvad skal jeg gøre?
Avatar billede goose Nybegynder
04. februar 2002 - 16:47 #8
Jamen hvad hedder den så, du må da have en post hvori dit link ligger ?
Send evt. din kode og db til mig, så skal jeg rette den til.
Send den til admin@goose.dk

/Goose
Avatar billede coltau Juniormester
04. februar 2002 - 19:58 #9
Tabellen TblTeak skal indeholde disse felter:
ID=Tal ' Det samme som Request.QueryString("ID")
hits=Tal ' Anvendes til optælling
strLink=Tekst ' Indeholder den URL der skal kaldes. (Uden HTTP:// foran)

Når tabellen indeholder disse felter virker koden. !
Avatar billede sesam Nybegynder
06. februar 2002 - 19:02 #10
Avatar billede goose Nybegynder
06. februar 2002 - 19:29 #11
- og hvad er så lige forskellen på det link du henviser til, og så det du har fået af svar her ?
Jeg havde faktisk lidt højere tanker om brugerne her på eksperten, men dem må jeg jo så reviderer.

/Goose
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