Contador en asp
Hola, amigo gaditano. Muchas gracias por tu contestación del otro día, me fue de gran ayuda. Ya conseguí que me funcionara perfectamente. Ahora tengo otro puqueño problema con un código para llevar un contador de visitas y no encuentro donde esta el problema. A ver si me puedes echar un cable como el otro día. Te pongo el código y te explico lo que me sucede.
' Si es una nueva visita, la variable estará vacía.
if Session("visitado")="" then
Session("visitado")=False
end if
'Y ahora, miro esta variable antes de insertar
' Se pone a verdadero
if Session("visitado")=False then
Session("visitado")=True
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "visitas", conexion, 1, 2
if rs.EOF then
' Es la primera visita hoy, por eso no hay ningún
' registro con la fecha actual
rs.AddNew
rs.Fields("Fecha")=Date()
rs.Fields("Hits")=1
rs.Update
else
' Tengo que sumar 1 a los Hits de hoy
visita=rs.Fields("Hits")
rs.Fields("Fecha")=Date()
rs.Fields("Hits")=visita+1
rs.Update
end if
end if
Ese es el código para realizar el contador. Ahora te pongo el response con el que lo muestro en la página:
<%=rs.Fields("Hits")%>
Pues si entro en la página por primera vez, funciona bien, pero si actualizo la página o navego por las otras páginas y luego vuelvo a la página principal, donde está el contador, me sale el siguiente error:
Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'
Se requiere un objeto: ''
/mipagina/principal.asp, line 382
Que es la linea donde esta el response que muestra el resultado por pantalla.
' Si es una nueva visita, la variable estará vacía.
if Session("visitado")="" then
Session("visitado")=False
end if
'Y ahora, miro esta variable antes de insertar
' Se pone a verdadero
if Session("visitado")=False then
Session("visitado")=True
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "visitas", conexion, 1, 2
if rs.EOF then
' Es la primera visita hoy, por eso no hay ningún
' registro con la fecha actual
rs.AddNew
rs.Fields("Fecha")=Date()
rs.Fields("Hits")=1
rs.Update
else
' Tengo que sumar 1 a los Hits de hoy
visita=rs.Fields("Hits")
rs.Fields("Fecha")=Date()
rs.Fields("Hits")=visita+1
rs.Update
end if
end if
Ese es el código para realizar el contador. Ahora te pongo el response con el que lo muestro en la página:
<%=rs.Fields("Hits")%>
Pues si entro en la página por primera vez, funciona bien, pero si actualizo la página o navego por las otras páginas y luego vuelvo a la página principal, donde está el contador, me sale el siguiente error:
Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'
Se requiere un objeto: ''
/mipagina/principal.asp, line 382
Que es la linea donde esta el response que muestra el resultado por pantalla.
1 Respuesta
Respuesta de averias33
1