Hola, tengo este codigo para la gestion de descargas de algunos archivos solo que en lugar de sumar 1 al valor aumenta 3, ademas tengo una tabla donde se almacenan los datos de la descarga y tambien me genera 3 registros iguales en cada descarga, el codigo es:
Código:
<%if session("user")="" then response.redirect "registro.asp"%>
<!--#include file="conexion.inc" -->
<%
id=request("id")
nivel=session("nivel")
de=request("de")
if de="" then vienen= request.ServerVariables("HTTP_REFERER") else vienen=de
Set RSd = Server.CreateObject("ADODB.Recordset")
rs.CursorType = 2
rs.LockType = 3
rs.CursorLocation = 3
rsd.CursorType = 2
rsd.LockType = 3
rsd.CursorLocation = 3
SQL = "SELECT * FROM archivos WHERE id = "& id
RS.Open sql, conexion
if not rs.eof and nivel=>rs("nivel") then
archivo = rs("url")
nombre = replace(archivo,"archivos/","")
nombre = replace(nombre," ","_")
Response.ContentType = "application/x-unknown" ' arbitrary
FPath = server.mappath (archivo)
Response.AddHeader "Content-Disposition","attachment; filename=" & nombre
Set adoStream = CreateObject("ADODB.Stream")
adoStream.Open()
adoStream.Type = 1
adoStream.LoadFromFile(FPath)
Response.BinaryWrite adoStream.Read()
adoStream.Close
Set adoStream = Nothing
SQLd="Select * From descargas"
RSd.Open sqld,conexion
rsd.addnew
rsd("archivo") = rs("id")
rsd("usuario") = session("user")
rsd("fecha") = now()
rsd("ip") = Request.ServerVariables("REMOTE_HOST")
rsd.update
rsd.close
descargas=rs("descargas")
rs("descargas")=descargas+1
rs.update
rs.close
Response.End
response.redirect "descargas.asp" 'vienen
else
response.redirect "index.asp?e=4&p="&prod&"&prod="&producto
end if
%>
El RSD es el encargado de la tabla de descargas y el RS de la tabla del archivo...
Ademas no se redirecciona a la pagina descargas.asp cuando se hace la descarga...
Tambien quisiera saber si es posible, de manera simple generar este hit cuando realmente se genere la descarga por que si la cancelo de cualquier manera la cuenta como hit, aunque esto no me apuraria mucho
espero su ayuda...gracias de antemano