Foros del Web » Programando para Internet » ASP Clásico »

Problemas contador

Estas en el tema de Problemas contador en el foro de ASP Clásico en Foros del Web. Hola, Tengo un problema con la sede web que estoy modificando. Tengo un contador que se ejecuta al cargar la página en lugar de hacerlo ...
  #1 (permalink)  
Antiguo 22/02/2007, 07:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta Problemas contador

Hola,

Tengo un problema con la sede web que estoy modificando.
Tengo un contador que se ejecuta al cargar la página en lugar de hacerlo cuando hago clic sobre una imagen como tengo programado.
!!Me estoy volviendo loca!!

El código que tengo es el siguiente:

<%

Sub Contador()

Dim rs
Dim ssql

Set rs = CreateObject("ADODB.Recordset")
ssql = "SELECT * FROM eb_ContadorVisitas WHERE xcliente_id = " & session("usuario")

rs.CursorType = 1
rs.LockType = 2
rs.Open ssql, application("conn")

'Comprabamos si es fin de fichero

if not rs.eof then

rs.Fields("xcont_visBannerCaixaFebrero2007") = (rs.Fields("xcont_visBannerCaixaFebrero2007").valu e) + 1

else

'Si es fin de fichero añadimos un registro nuevo
rs.AddNew

'Insertamos campos
rs.Fields("xcliente_id") = usuario
rs.Fields("xcont_visBannerCaixaFebrero2007") = 1



end if

'Guardamos los cambios

rs.Update
rs.close
set rs = nothing

End Sub
%>

.
.
.
.
.

Para llamar a la función hago lo siguiente:

if not rs2.eof then%>

<a href="<%=rs2("xenlace")%>" onClick="<%Contador()%>" target="_blank"> <img src="images/<%=rs2("ximagen")%>" width="220px" height="53px" border="0"> </a>

<%end if


¿Dónde está mi error?

Muchísimas gracias de antemano.

Un saludo,

Amaya
  #2 (permalink)  
Antiguo 22/02/2007, 08:08
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 7 meses
Puntos: 2
Re: Problemas contador

Hola Amaya, veamos...
Primeramente no entiendo cual es el rs2, supongo que es un recordset en el que cargas los links a imagen (o a páginas que lleva el banner)
Tu problema es que estás tratando a la función vbscript Contador() como si fuera una función Javascript.
Las funciones o subrutinas vbscript se ejecutan cada vez que cargas la página, con lo que incluso si colocaras una bandera que cuente las veces que se ejecuta, si la página se recarga con F5 tu variable se reiniciaría y volvería a ejecutar la función.
Yo lo solucionaría colocando la función que rescata el usuario y lo guarda en la db incrementando el número de visitas en la página que cargas en _blank en el enlace de la siguiente manera:
El link te llevaría a una página tuya que registra la visita.
Una vez registrada la visita, recién redireccionaría a la página del propietario del banner.
De esta manera te evitas que cuente visitas en la carga de la página.

bueno, espero que se haya entendido, estoy un poco a las corridas.

Saludosss!!!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #3 (permalink)  
Antiguo 22/02/2007, 09:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Problemas contador

Adicional a lo que te han comentado, para entender que esta pasando basta que veas el código fuente HTML que el cliente (el navegador) recibe. Con ello veras que cuando el cliente recibe la página, ya todo el asp se ha ejecutado en el servidor.
  #4 (permalink)  
Antiguo 22/02/2007, 12:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 18 años, 2 meses
Puntos: 0
De acuerdo Re: Problemas contador

Hola,

Lo primero muchísimas gracias por responder.
He hecho lo que me has indicando y FUNCIONA!!!.

Gracias de verdad,

Saludos!!!
  #5 (permalink)  
Antiguo 22/02/2007, 12:15
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 7 meses
Puntos: 2
Re: Problemas contador

Bueno, me alegra mucho haber sido de ayuda.

Salu2345...
__________________
Why can't we not be sober?
www.partitorium.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:04.