Räkna nedladdningar

ASP

3 svar · 329 visningar · startad av jreftel

Medlem sedan apr. 20019 inlägg
Trådstart#1

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?

Medlem sedan dec. 19996 721 inlägg
#2

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")
Medlem sedan feb. 2001390 inlägg
#3

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

Medlem sedan apr. 20019 inlägg
#4

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?

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)