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

contador de aspfacil.com

Estas en el tema de contador de aspfacil.com en el foro de ASP Clásico en Foros del Web. este es un contador de visita de aspfacil.com pero me da error en la ultima linea (negrita), por que??? este es el codigo: <% Sub ...
  #1 (permalink)  
Antiguo 27/03/2004, 21:04
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 22 años, 5 meses
Puntos: 5
contador de aspfacil.com

este es un contador de visita de aspfacil.com pero me da error en la ultima linea (negrita), por que???
este es el codigo:
<%
Sub Visita
'Añade una visita

Dim oConn, rs, SQL
Dim visitas

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
' Nos conectamos por OLEDB
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("visitas.mdb")

' # es el delimitador para las Fechas en Access.
' Si vas a utilizar SQL Server, sustitúyelo por comilla simple (')
SQL="SELECT * FROM Visitas WHERE Fecha=#"&Date()&"#"
rs.Open SQL, oConn, 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
visitas=rs.Fields("Hits")
rs.Fields("Hits")=visitas+1
rs.Update
end if

'Cierro el Recordset y limpio la basura
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing

%>
<%
' Si es una nueva visita, nuestra variable estará vacía.
if Session("Visitado")="" then
Session("Visitado")=False
end if

'Y ahora, miramos siempre esta variable antes de insertar
if not Session("Visitado") then
' Ponemos a verdadero
Session("Visitado")=True
' Llamamos a nuestro Sub para añadir la visita
Visita
end if

%>

muchas gracias
  #2 (permalink)  
Antiguo 27/03/2004, 22:40
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
ok, nos marcaste la línea del error... pero el error en si cuál es?
__________________
...___...
  #3 (permalink)  
Antiguo 28/03/2004, 07:59
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 22 años, 5 meses
Puntos: 5
el error es algo asi: "se espera final de instruccion" o "error de compilacion VBScript"

gracias
  #4 (permalink)  
Antiguo 28/03/2004, 11:24
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 23 años, 2 meses
Puntos: 772
Hola, Ludwingg.

¿No debería haber un End Sub en alguna parte?

Saludos,
  #5 (permalink)  
Antiguo 28/03/2004, 21:08
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 22 años, 5 meses
Puntos: 5
tienes razon javierB, era ese el problema, ahora el otro problema es que no me aumenta los registros de la base de datos... y lo estoy haciendo todo como se muestra aqui: http://www.aspfacil.com/articulos/contadorvisitas.asp

que estara pasando???
muchas gracias
  #6 (permalink)  
Antiguo 29/03/2004, 00:16
 
Fecha de Ingreso: octubre-2003
Mensajes: 85
Antigüedad: 21 años, 7 meses
Puntos: 0
Es que los registros nunca van a aumentar, porque la función de la tabla en la base de datos es de contador y lo unico que hace es actualizar continuamente el primer registro, que segun el codigo contiene la Fecha de la Primera Visita, y luego de la primera lo que hace es que el campo Hits lo incrementa de 1 en 1 a medida que entran las visitas al Site.

Si quieres que por día te cambia el regitro no ´puedes usar lo que estas haciendo:
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

Eso no te lo pasará a otro registro por día ya que Si el Rs.EOF es False indica que hay registros, en caso contrario, si es True, indica que la Tabla está vacía. Que segun el codigo eso es lo que indica. si esta vacia que ingrese un nuevo registro.
__________________
ASP.Net - Relket - ASP.Net

Última edición por Relket; 29/03/2004 a las 00:18
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 08:16.