webForumDet fria alternativet

download counter

ASP

5 svar · 233 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Frågan#1

tjena på er allihop

jag tänkte låta folk ladda ner våra replokalslåtar och då vore det
ju trevligt om jag kunde se hur många gånger varje fil har laddats
ner :)

alltså om jag klickar på t.ex. "hink_och_spade.mp3.zip" länken så
ska den räknas upp med ett.

så här ser koden ut tills det blir tillräckligt många för att orka
lägga dem i en databas.

[red]	<table cellspacing = '0' cellpadding = '0' border = '0'>
<%
	set fs = server.createobject ( "scripting.filesystemobject" )
	set f = fs.getfolder ( server.mappath ( "\mp3\" ) )

	set fc = f.files
	for each i in fc
		response.write "<tr>" & vbcrlf & _
			"<td><a href='http://tillsvidare.treasure.d2g.com/mp3/" & mid ( i, ( instrrev ( i, "\" ) ) + 1, len ( i ) ) & "'>" & mid ( i, ( instrrev ( i, "\" )  ) + 1, len ( i ) ) & "</a></td>" & vbcrlf & _
			"</tr>" & vbcrlf
	next
%>
	</table>[/red]

men det listar ju bara ut filerna i mappen. vad jag behöver hjälp
med är logiken för att skicka vidare ett värde som jag kan snappa
upp och spara. jag kommer ju inte till en ny sida när jag klickar på
länken.

har jag uttryck mig klart eller måste jag förklara något ytterligare?

Medlem sedan feb. 20022 594 inlägg
#2

Du kan ju spara det i en QueryString. Eller så kan du göra det till ett formulär och lägga till typ OnClick="this.form.Submit()" om du vill att det ska hämtas med Request.Form().

Har kanske förstått ditt meddelande fel.

Medlem sedan maj 2002560 inlägg
#3

ska det fungera fast du inte laddar någon ny sida med länken?

Medlem sedan maj 2002560 inlägg
#4

så här ser det ut nu

[red]<%
	[b]if request ( "action" ) = "upone" then
		response.write request ( "song" )
	else[/b]
		set fs = server.createobject ( "scripting.filesystemobject" )
		set f = fs.getfolder ( server.mappath ( "\mp3\" ) )

		set fc = f.files
		for each i in fc
			response.write "[b]<form action = '" & request.servervariables ( "script_name" ) & "?action=upone&song=" & mid ( i, ( instrrev ( i, "\" ) ) + 1, len ( i ) ) & "' method = 'get'>[/b]" & vbcrlf & _
				"<tr>" & vbcrlf & _
				"<td><a href='http://tillsvidare.treasure.d2g.com/mp3/" & mid ( i, ( instrrev ( i, "\" ) ) + 1, len ( i ) ) & "'[b] OnClick='this.form.submit'[/b]>" & mid ( i, ( instrrev ( i, "\" )  ) + 1, len ( i ) ) & "</a></td>" & vbcrlf & _
				"</tr>" & vbcrlf & _
				"[b]</form>[/b]" & vbcrlf
		next
	[b]end if[/b]
%>[/red]

men det händer inget

den feta stilen är vad jag lagt till sedan senast. ser det rätt ut eller?

Medlem sedan apr. 20021 203 inlägg
#5

När jag gjorde ett sådant script senast så såg det ut så här (demo):
Databas:
Låttitel - Antal nedladdningar
Hej - 2
Då - 20

När du sedan visar låtarna loopar du som vanligt ut dem med ett RecordSet och länkar dem till en annan sida, skicka också med ID:t. På nästa sida uppdaterar ett script kolummen "Antal nedladdningar" genom att plussa med ett. Därefter skickas man vidare till själva filen. Jag kan visa dig om du vill...

Sedan är det kanske inte det mest praktiska att använda datbas om det bara gäller någon enstaka låt (när jag använde det gällde det hundratals filer). Det kanske är lättare att byta ut databasen mot en textfil.. typ:
Rad 1 = TS.ReadLine
Rad 1 = Rad 1 + 1
Och sedan skicka tillbaka det nya värdet.

:)

Medlem sedan maj 2002560 inlägg
#6

jo.. det förståss, men då skickar jag ju dem till en ny sida jag ville att det skulle räkna upp utan att skicka dem till en ny sida. det kanske inte är möjligt?

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)