webForumDet fria alternativet

Räkna nedladdningar

ASP

3 svar · 319 visningar · startad av jreftel

Medlem sedan apr. 20019 inlägg
Frågan#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?

------------------
Even if you win the rat race, you're still a rat...

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

------------------
En sak livet lärt mig är att idioterna oftast har rätt

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?

------------------
Even if you win the rat race, you're still a rat...

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)