Du får göra en fil som redirectar till PDF:en
fil.asp?fil=dokument.pdf
'uppdatera databasen för filen request.querystring("fil")
response.redirect request.querystring("fil")
3 svar · 329 visningar · startad av jreftel
Hej!
Hur gör jag för att räkna antalet gånger en pdf-fil laddats ner från min websida, för att sedan kunna spara detta i en databas? Det är själva räknandet som är problemet, inte sparandet.
Kan jag göra något varje gång länken klickas på, eller finns det någon käck variant som kan titta direkt på filen?
Du får göra en fil som redirectar till PDF:en
fil.asp?fil=dokument.pdf
'uppdatera databasen för filen request.querystring("fil")
response.redirect request.querystring("fil")
kod för räknandet:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\Inetpub\wwwroot\nanting.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Connect.execute "update main set nedladd=nedladd+1 WHERE ID= " & Request.Querystring("ID")
Connect.Close
%>
kod för redirectandet:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\Inetpub\wwwroot\nanting.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set rs = Connect.execute("select Url from main WHERE ID= " & Request.Querystring("ID"))
url_ut=rs("Url")
rs.close
Response.Redirect url_ut
Connect.Close
%>
Obs! glöm ej att ha Response Buffer = True om du använder räknaren på samma sida som ivägskickningen
Tack för hjälpen!
Själva principen fungerar jättebra - men den räknar helt galet. Jag trycker på länken och det resulterar i att den visar att den klickats på 4 gånger, nästa gång jag klickar blir det 7, sedan 9, 16... Vad gör jag för fel? Koden ser ut så här:
sqlfraga1="SELECT * FROM statistik WHERE produkt='" & request("produkt") & "'"
set lista=Server.CreateObject("ADODB.recordset")
lista.open sqlfraga1, conn, 3, 1
IF lista.recordcount > 0 THEN
antal = cint(lista("raknare")) + 1
sqlfraga2="UPDATE statistik SET raknare='" & antal & "' WHERE produkt='" & request("produkt") &"'"
conn.execute(sqlfraga2)
ELSE
sqlfraga2="INSERT INTO statistik(produktid,produkt,raknare) VALUES('" & request("id") & "','" & request("produkt") & "','1')"
conn.execute(sqlFraga)
END IF
lista.close
set lista=nothing
response.redirect("smakprov/"&request("smakprov"))
Var ska jag placera response.buffer och vad innebär det egentligen?